我一直在为 python 编写单元测试,使用 py.test (顺便说一句,我推荐)。
现在我在java上做,使用JUnit4。单元测试的有趣之处在于检查代码在并非一切都按预期进行时的行为方式(网络服务返回的意外数据,无效的输入数据......),在 python 上,我曾经对每个函数进行两次测试。
- 第一个测试将检查代码在一切按预期工作时的行为
- 第二个测试将模拟各种潜在问题、网络问题、脏/意外/无效响应数据等。
我通常称它们为 test_foo() 和 test_foo_ko(),当然 java 会使用 camelCase。
问题是,我是否应该将一段代码的所有案例集中在一个测试中,我应该像我在 python 上所做的那样将它们分成两部分,还是应该对每一个可能的案例进行测试?