调用不受测试的方法?

And*_*ndi 6 unit-testing

我正在试图弄清楚如何编写适当的单元测试.还有很多东西需要学习.我想问的一个场景如下:

假设我正在测试A类的方法X.现在,我经常觉得有必要调用一个方法B(的X)是不受当前测试的.大多数情况下,这可能是设置测试夹具(即更改状态X)或断言某些内容A(即对状态进行断言X).在这两种情况下,嘲弄都是徒劳的.但是,如果我对其进行了任何(错误的)更改B,那么A即使没有任何改变,测试也可能会失败A.

现在,我不确定如何解释这个结果.这是否意味着我的测试过程或设计存在缺陷,或者它是否是一个非问题,因为我毕竟测试了单元" X"(该类)?

Dan*_*iel 5

如果测试A失败的原因是由于X问题导致类的对象处于无效状态B,则测试设计不一定存在任何问题.实际上B,在进行测试之前,你应该进行一些单元测试失败A.这样,您可以假设如果这些测试通过,则任何测试失败A都是由于问题导致的A.

编写单元测试的典型方法是假设每个未测试的方法都能正常工作.但是,这只有用,如果其他方法有自己的单元测试来在引入时捕获错误.但是,如果你没有那个,那么你的测试用例的失败A是因为你最近引入了一个错误,B可能会让你咆哮错误的树.

  • @AndyBrandi不要忽略下一句话!这至关重要! (3认同)