我正在创建一堆供个人使用的库,我将自定义错误处理插入到我的代码中。
我把这些错误信息放在很多地方(到处都可能发生错误,或发生不可预测的事情)。
我现在正在为我的库创建测试类(实际上我创建了测试类,但是......)
我一直在阅读代码覆盖等方面的内容,我对我的流程有疑问(我想养成良好的习惯)。
如上所述,我的方法会进行大量的错误处理。
在我的测试中,我创建了2个测试
这似乎是测试我的代码的有效方法,但我读的越多,我就越不确定。
欢迎任何有关如何改进测试的建议(或指向网上资源的指示)。
提前致谢,
抱歉,如果这看起来像一个'愚蠢'的问题(它对我有用......一点点)
答案 0 :(得分:2)
这听起来像是一种很好的测试方式。如果您测试每个可能的场景并获得所涵盖的每个方法的每个结果,那么您还可以做些什么?
确保测试成功运行,然后查看代码并查看可能出错的所有内容。测试它以你期望的方式失败,并抛出预期的异常等等。因此,不是像你现在一样编写两个测试,而是为每个可能的失败写一个,同时用一些来检查它是否通过了预期。这可能意味着要写很多测试。
例如,如果你有这样的代码:
if (x && y && z) {
...
} else {
...
}
然后测试如果x和y但不是z发生会发生什么,如果x单独出现,如果y和z出现等等,这可能是一个好主意。这可能看起来很小,但是覆盖尽可能多的是一个好主意可能的情况。
在养成良好习惯方面,编写测试的最佳方法是随着时间的推移编写测试。所以,编写测试,编写代码以通过测试,重复。这意味着所有编写的代码都会增加价值,并帮助您将问题分解为更小的块。这被称为TDD(测试驱动开发)。有很多地方可以在线阅读TDD,包括http://www.agiledata.org/essays/tdd.html
等网站希望这个答案有所帮助。如果您对我所说的任何内容有任何额外的解释,请告诉我。