我在单元测试中有这两行。 如果我注释掉STAssertTrue
测试,数据将被写入文件而不会出现问题,并且写入文件的格式为YES
。STAssertTrue不工作,因为我期望
BOOL writeResult = [winePDF writeToFile:wineDocumentDirectoryFilename atomically:YES];
STAssertTrue((writeResult), @"Didn't write to file");
我希望这个测试通过,但它会失败。我试过
STAssertEquals(YES, writeResult, @"Didn't write to file");
哪个也失败了。
在单元测试中没有做太多的事情,所以在我的额头上打量着,期待着你有充分的答案。
是的,我查过了。如果我在没有声明的情况下写入文件,则会创建该文件。看来如果检查行为导致问题? –
该测试在函数返回后运行,因此如果声明不起作用,您仍然应该看到该文件。你有没有尝试记录返回值? –
您可能需要在单元测试中添加某些内容,以便在测试之前和/或之后删除该文件,以防成功运行后留下一个文件。 – jrc