1

我在单元测试中有这两行。如果我注释掉STAssertTrue测试,数据将毫无问题地写入文件并且写入文件是YES.

BOOL writeResult = [winePDF writeToFile:wineDocumentDirectoryFilename atomically:YES];
STAssertTrue((writeResult), @"Didn't write to file");

我希望这个测试能够通过,但它失败了。我试过了

STAssertEquals(YES, writeResult, @"Didn't write to file"); 

这也失败了。

在单元测试中没有做太多,所以在期待您的消息灵通的答案时拍了拍我的额头。

4

2 回答 2

2

您可以使用以下代码获得更好的调试选项:

if( ! writeResult) {
    STFail(@"Didn't write to file");
}

因此,您将确定您的测试代码不工作或您的代码有问题。

于 2012-07-13T06:05:30.533 回答
1

你的代码对我来说看起来是正确的。你确定写成功了吗?你确定 winePDF 不是空的吗?

我建议在你的第一行之前添加这个:

STAssertNotNil(winePDF, @"winePDF should not be nil");
于 2012-07-07T07:46:58.067 回答