java/jUnit用一个公共方法测试类



我有一个类有一个公共方法(为单一责任原则欢呼),除了在该方法中有一个列出大约20个方法调用的try。在测试和/或重构和测试方面,我将如何进行?我是java新手。正在寻找一种更好的方法来构建和测试此代码。任何关于最佳实践的建议/建议都将不胜感激!谢谢

仅仅因为你有一个公共方法并不意味着你遵循了单一责任原则。例如,如果您愿意,可以直接用main方法编写整个项目。main将承担许多责任。

如果可以的话,我会通过公共方法来测试它。如果你做不到,那就说明你班上有很多责任。您应该发现这些单独的职责,并将它们转移到具有自己的公共方法的其他类中,然后单独测试新类。

我同意前面的回答。您应该真正考虑使用接受参数并执行单个操作并返回结果的方法。如果您不能将代码分解成更小的片段,那么您可以在不使用单独的单元测试类的情况下直接将断言添加到代码中。这里有一个链接,向您展示如何直接添加到代码中。http://www.deitel.com/articles/java_tutorials/20060106/Assertions.html

查看该方法的规范。(有一个规格,对吧?)

规范中描述方法所做的一件事的每一句话或部分句子都应该引发一个测试用例,即测试类中包含断言的一个方法。如果一个句子谈论不同场景中的行为(例如,如果价格字段>0,则在语句中添加一行,否则抛出IllegalArgumentException),那么它可能会给您提供多个测试用例。

但说真的,一个方法中有20个方法调用?这听起来像是一个相当脆弱的设计。请重新考虑。

最新更新