草庐IT

java - 使用 JUnit 的 @Parameterized 时,我可以让一些测试仍然只运行一次吗

这个问题在这里已经有了答案:Excludinganonparamtestinparameterizedtestclass(9个回答)关闭5年前.我在很多情况下使用@Parameterized来对多个排列进行测试。这工作得很好,并且使测试代码本身保持简单和干净。但是有时我希望某些测试方法仍然只运行一次,因为它们不使用参数,JUnit有没有办法将测试方法标记为“单例”或“运行-一次”?注意:这与在Eclipse中运行单个测试无关,我知道该怎么做:) 最佳答案 您可以使用Enclosedrunner构建您的测试。.@RunWith(Enc

java - 如何从 JUnit 测试中运行 JMH?

如何使用JUnit测试在现有项目中运行JMH基准测试?官方文档建议制作一个单独的项目,使用Mavenshade插件,并在main方法中启动JMH。这是必要的吗?为什么推荐它? 最佳答案 我一直在使用JUnit在我现有的Maven项目中运行JMH,没有明显的不良影响。我无法回答为什么作者建议以不同的方式做事。我没有观察到结果的差异。JMH启动一个单独的JVM来运行基准测试以隔离它们。这是我的工作:将JMH依赖项添加到您的POM:org.openjdk.jmhjmh-core1.21testorg.openjdk.jmhjmh-gene

java - 如何从 JUnit 测试中运行 JMH?

如何使用JUnit测试在现有项目中运行JMH基准测试?官方文档建议制作一个单独的项目,使用Mavenshade插件,并在main方法中启动JMH。这是必要的吗?为什么推荐它? 最佳答案 我一直在使用JUnit在我现有的Maven项目中运行JMH,没有明显的不良影响。我无法回答为什么作者建议以不同的方式做事。我没有观察到结果的差异。JMH启动一个单独的JVM来运行基准测试以隔离它们。这是我的工作:将JMH依赖项添加到您的POM:org.openjdk.jmhjmh-core1.21testorg.openjdk.jmhjmh-gene

java - 在没有电子邮件实际出去的情况下运行 Junit 电子邮件测试

我想在一些模型类上运行单元测试(Junit),这些模型类通常会发送电子邮件确认事情已经发生。是否有一个模拟电子邮件服务器可用于单元测试,让您确认您的运行尝试发送电子邮件而没有实际发送电子邮件?这似乎很不错,只是不确定我想自己写。电子邮件方面的应用程序堆栈是Velocity+Spring,因此如果可以通过简单地更改applicationContext.xml文件来指向测试服务器,那就更好了。 最佳答案 Dumbster是一个为测试而设计的假SMTP服务器。它是用Java编写的。 关于jav

java - 在没有电子邮件实际出去的情况下运行 Junit 电子邮件测试

我想在一些模型类上运行单元测试(Junit),这些模型类通常会发送电子邮件确认事情已经发生。是否有一个模拟电子邮件服务器可用于单元测试,让您确认您的运行尝试发送电子邮件而没有实际发送电子邮件?这似乎很不错,只是不确定我想自己写。电子邮件方面的应用程序堆栈是Velocity+Spring,因此如果可以通过简单地更改applicationContext.xml文件来指向测试服务器,那就更好了。 最佳答案 Dumbster是一个为测试而设计的假SMTP服务器。它是用Java编写的。 关于jav

java - 如何使用 jUnit 对 Servlet 过滤器进行单元测试?

实现了doFilter()。如何用jUnit正确覆盖过滤器?publicvoiddoFilter(ServletRequestservletRequest,ServletResponseservletResponse,FilterChainfilterChain)throwsjava.io.IOException,javax.servlet.ServletException{HttpServletRequestrequest=(HttpServletRequest)servletRequest;HttpServletResponseresponse=(HttpServletRespon

java - 如何使用 jUnit 对 Servlet 过滤器进行单元测试?

实现了doFilter()。如何用jUnit正确覆盖过滤器?publicvoiddoFilter(ServletRequestservletRequest,ServletResponseservletResponse,FilterChainfilterChain)throwsjava.io.IOException,javax.servlet.ServletException{HttpServletRequestrequest=(HttpServletRequest)servletRequest;HttpServletResponseresponse=(HttpServletRespon

java - 如何避免 JUnit 测试用例中的继承?

我在JUnit中有许多测试用例。它们都需要在它们的@BeforeClass静态方法中执行相同的代码。这是一个代码重复,我正试图摆脱它。一种肮脏的做法是通过继承。JUnit中是否还有其他机制可能有所帮助?PS。我写了这篇关于这个主题的博客文章:http://www.yegor256.com/2015/05/25/unit-test-scaffolding.html 最佳答案 编写可重用代码(而不是从它继承)的JUnit方法是规则。见https://github.com/junit-team/junit/wiki/Rules这是一个愚蠢

java - 如何避免 JUnit 测试用例中的继承?

我在JUnit中有许多测试用例。它们都需要在它们的@BeforeClass静态方法中执行相同的代码。这是一个代码重复,我正试图摆脱它。一种肮脏的做法是通过继承。JUnit中是否还有其他机制可能有所帮助?PS。我写了这篇关于这个主题的博客文章:http://www.yegor256.com/2015/05/25/unit-test-scaffolding.html 最佳答案 编写可重用代码(而不是从它继承)的JUnit方法是规则。见https://github.com/junit-team/junit/wiki/Rules这是一个愚蠢

java - jUnit 4 中的 TestSuite 设置

我已经设法了解如何在jUnit4中制作TestSuite,但我真的很怀念v3将套件包装在TestSetup中的可能性。关于如何在jUnit4中为一组测试用例执行一些@BeforeClass/@AfterClass设置有什么想法吗?即@RunWith(Suite.class)@Suite.SuiteClasses({Test1.class,Test2.class})publicclassMyTestSuite{@BeforeClasspublicstaticvoidsetUpClass(){//CommoninitializationdoneonceforTest1+Test2}@Aft