Joh*_*her 5 xcode cocoa unit-testing
我是单元测试的新手,我正在接受一些最佳实践建议.我正在使用Xcode在Cocoa中编码.
我有一个方法可以验证用户输入的URL.我希望它只接受http://协议,只接受具有有效字符的URL.
为此进行一次测试并使用测试数据文件是否可以接受?数据文件提供示例有效/无效URL以及URL是否应该验证.我也用它来检查错误消息的描述和域.
为什么我这样做
我已经用JUnit阅读了Java中的实用单元测试,这给出了一个外部数据文件的例子,这让我觉得这没关系.另外,这意味着我不需要用非常相似的代码编写大量单元测试来测试不同的数据.
但另一方面...
如果我正在测试:
所有在相同的测试数据文件中(因此在同一测试中)这会在以后引起我的问题吗?我读到一个测试应该只是失败的原因之一.
我正在做什么?
如果有的话,其他人如何在单元测试中使用测试数据?
通常,仅在必要时使用测试数据文件.使用测试数据文件有许多缺点:
在某些情况下我会使用数据文件:
我建议在代码中编写测试,而不是编码文件中的有效和无效URL.我建议为无效字符创建测试,测试无效协议,测试无效域,以及测试有效URL.如果您认为没有足够的覆盖范围,则可以创建一个小型集成测试来测试多个有效和无效的URL.这是Java和JUnit中的一个例子:
public void testManyValidUrls() {
UrlValidator validator = new UrlValidator();
assertValidUrl(validator, "http://foo.com");
assertValidUrl(validator, "http://foo.com/home");
// more asserts here
}
private static void assertValidUrl(UrlValidator validator, String url) {
assertTrue(url + " should be considered valid", validator.isValid(url);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1397 次 |
| 最近记录: |