gpt4 book ai didi

java - 如何组织jUnit测试来分别覆盖包和整个程序?

转载 作者:行者123 更新时间:2023-11-30 05:02:15 24 4
gpt4 key购买 nike

此问题涉及您的经验和行业最佳实践。请评论我所做的事情,看看它是否有意义。让我知道您如何处理同样的问题

当我编写测试时,我通常一次专注于包。 src 中的每个类都有自己的测试类。生活很好。对于给定的包,我提出了一个类,负责运行包中的所有测试。例如(A.java),如下所示:

@RunWith(Suite.class)
@Suite.SuiteClasses( { One.class, Two.class, Three.class })
public class _A {

}

问题 1:这引入了 1 个额外的类,用于运行该包的所有测试。

问题 2:我倾向于在该类之前添加下划线(以确保它显示在顶部。Understore(有人告诉我)是一种不好的品味..

问题:创建单独的测试类来测试给定的包是否常见?

上面所示的模式对我拥有的每个包都会重复。对于/test 下的每个包,我都有一个 _Package{x}Tests.java

此外,在/test 下的根目录中,我有一个所有测试类的母亲,其中包括所有包测试

/test
_ApplicationTests.class

@RunWith(Suite.class)
@Suite.SuiteClasses( { _A.class, _B.class, _C.class })
public class _ApplicationTests {

}

担忧1:我真的宁愿避免默认包,但同时,我非常喜欢看到“第一个出现的测试”成为主测试文件

问题 2:再次(我一定在某个地方读过这个..)MasterTests 类以下划线开头(为了保持一致性,我猜)

你们是怎么处理这个问题的?我所描述的方法是可以接受的吗?

对于我(个人)来说,我非常喜欢单独运行“所有测试”和“所有包测试”的选项。

谢谢,请告诉我。

最佳答案

如果您使用Eclipse,您可以右键单击测试包并运行其中的所有测试。

如果您使用maven和surefire/failsafe,您可以使用-Dtest=com.package.*指定包(这比Eclipse更强大,因为您可以从嵌套包层次结构的顶部)。 Ant 可能有类似的选择。

任何一种方法都意味着您不需要自定义 @Suite 类。

关于java - 如何组织jUnit测试来分别覆盖包和整个程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6286236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com