STAssertTrue无法正常工作

时间:2012-07-02 09:15:12

标签: objective-c ios xcode unit-testing

我在单元测试中有这两行。 如果我注释掉STAssertTrue测试,则数据会写入文件而不会出现问题,并且写入文件为YES

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

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

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

也失败了。

在单元测试中做得不多,所以拍打我的前额,以期得到你明智的回答。

2 个答案:

答案 0 :(得分:2)

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

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

因此,您将确保您的测试代码无效或代码出错。

答案 1 :(得分:1)

您的代码对我来说是正确的。你确定写的成功吗?你确定winePDF是非nill吗?

我建议在第一行之前添加:

STAssertNotNil(winePDF, @"winePDF should not be nil");