这些是我在使用单元测试时应该考虑的边缘情况吗?

Gur*_*epS 5 junit nunit unit-testing mstest

在编写单元测试时,通常建议测试边缘情况.

但是,这些是正确的东西吗?

  • 测试与db的连接未打开(断言抛出异常)
  • 断言一个表必须总是> 1行,这样做
  • 断言所需的字段是!= null.
  • 断言已经以正确的格式设置了ip(我可以将字符串解析为IP).

谢谢

Chr*_*isF 5

您的测试似乎没问题,但短语"边缘情况"通常是指您需要围绕输入限制进行的测试和检查.

假设您的数据库中有一列可以接受50个字符的列.您的边缘案例测试是:

  • 保存一个49个字符的字符串 - 成功
  • 保存50个字符的字符串 - 成功(或者因为空终止字符而失败,具体取决于您的语言)
  • 保存一个51个字符的字符串 - 失败

您可以看到您正在测试应用程序中最可能出现错误的位置.在这种情况下,您可以存储的可用字符数量可能存在一些混淆,这可能会导致应用程序写入数据库时​​出错.

其他测试应该测试保存20个字符的字符串并保存100个字符的字符串(比如说),但这些测试会更稳定.