草庐IT

java - 如何将 junit 测试运行结果记录到数据库

我们使用junit进行集成测试。测试在Eclipse和Jenkins中运行。现在我想将所有junit测试运行结果记录到数据库中以便于报告(我想记录测试类/方法名称、环境、持续时间和成功)。我曾考虑过解析junit结果xml,但将其直接记录到数据库对我来说也不错。这听起来很刺耳,但也很优雅。通常我们只是用@Test注释来注释一个测试方法,瞧,我们有了我们的junit测试方法。这意味着我们没有围绕junit的额外框架,我想保持这种状态。我担心这意味着如果我想实现那种日志记录,我可能不得不侵入junit。有没有人这样做过,如果效果好可以给点建议?也许您对在junit中如何/在何处放置钩子(H

java - 将参数从测试套件发送到 junit 4 中的测试用例

我有四个junit案例,我需要向它们传递一个参数,这对所有案例都是相同的,但这个参数是在测试套件中以动态方式创建的。如何将测试套件中的参数传递给测试用例中的所有测试? 最佳答案 如果它只是一个字符串参数,您可以设置系统属性并在测试用例中访问它。如果您想以编程方式执行此操作,您可以在一个地方执行System.setProperty("x","123");否则您始终可以从命令行传递系统属性作为-Dx=123。 关于java-将参数从测试套件发送到junit4中的测试用例,我们在StackOv

java - 多个运行者的junit实现

我一直在尝试通过创建一个扩展runner的suiterunner来创建一个个性化的测试套件。在用@RunWith(suiterunner.class)注释的测试套件中,我指的是需要执行的测试类。在测试类中我需要重复一个特定的测试,为此我使用这里提到的解决方案:http://codehowtos.blogspot.com/2011/04/run-junit-test-repeatedly.html.但是由于我已经创建了一个触发测试类的suiterunner,并且在该测试类中我正在实现@RunWith(ExtendedRunner.class),因此会引发初始化错误。我需要帮助来管理这2个

java - 如何将 @Named bean 注入(inject) Junit 测试

我正在尝试将@Namedbean注入(inject)到Junit测试中。这在我的ejb模块中有效,但在我的war模块中同样的方法失败了。我想知道为什么我得到org.apache.openejb.OpenEJBException:Creatingapplicationfailed:couldn'tstartowbcontext。我知道这看起来与IssuewithEJB3.1injectedwithCDIbeanwhilerunningJUnit中的问题相同,但它不能与在另一个模块中工作的相同。源代码在这里:https://github.com/Crydust/guestbook工作测试:

java - Maven 2 不运行 Junit 4 测试

我在确保运行Junit4测试时遇到问题。https://stackoverflow.com/questions/2021771?sort=newest#sort-top中报告了同样的问题但解决方案是删除有问题的依赖项,其传递依赖项导致包含junit3。在我的例子中,依赖是必要的。我正在尝试找出如何排除对junit3的传递依赖性,以便它不包含在surefire:test类路径中。下面是我的pom.xml和“mvn-Xtest”的输出。pom.xml尝试使用“排除”元素,但这似乎无济于事。注意靠近底部的地方,maven将junit3添加到测试类路径。4.0.0com.comcast.ser

java - 有没有办法停止排队的 JUnit 测试并仍然保持 JavaFX Gui 运行?

我正在编写一个程序,该程序设置一个GUI以启动在Java中使用SeleniumWebDriver的JUnit测试脚本。GUI在后台设置了一个JUnit测试队列(我相信是这样)。在GUI上,我想使用一个“停止测试”按钮来停止执行仍在队列中的所有futureJUnit测试,但我想及时执行。我目前有将停止所有测试的代码,但如果队列中有190个测试,则需要1-2秒以上才能停止执行队列中的单个测试,当您考虑那么多测试时,这既不及时也不对消费者友好:Fieldfield=JUnitCore.class.getDeclaredField("fNotifier");field.setAccessibl

java - 如何使用 JUnit 在 Spring 中获取数据库连接?

我正在尝试使用服务和方法的正确逻辑来测试数据库提供的正确信息。在这个简单的示例中,我仅使用语句assertEquals来比较为roleService提供的id,但我仍然遇到错误。我有以下代码:[更新]测试方法:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(value={"classpath:applicationContext.xml"})@Transactional@WebAppConfiguration@ComponentScan(basePackages={"com.project.surveyengin

java - 通过 Maven 使用 Junit Categories 运行 Cucumber 测试

我有一个包含多个模块和一个公共(public)父模块的Maven项目。在这个项目中,有一些单元测试与Junit和surefire一起运行,以及BDDCucumber集成测试。我想运行两个单独的作业,一个运行所有单元测试,另一个运行BDD/集成测试。为了做到这一点,我用Junit类别注释对我的BDD运行器类进行了注释,如下所示:@RunWith(Cucumber.class)@CucumberOptions(tags={"@ATagToBeRun","~@ATagNotToBeRun","~@ToBeImplemented"},dryRun=false,strict=true,featu

java - junit 没有使用最新的文件

我使用maven自动安装的junit。当我运行Maven测试时,我的测试工作正常。但是当我调用EclipseJUnit测试时,它不使用当前版本的测试类。例如如果我将assertTrue()更改为assertFalse(),我会得到相同的结果。这让我发疯。项目的自动构建已开启。为什么JUnit使用一些陈旧的废话?感谢您的帮助。Mavenclean和eclipseclean解决了这个问题。奇怪... 最佳答案 Maven很可能编译为./target/classes,而Eclipse通常编译为./bin/classes。你应该试试http

java - NetBeans 7.0、JUnit 和 Glassfish Embedded 3.1 : Does not work

我正在尝试在Win7Professional机器上使用NB7.0、JUnit和嵌入式GlassfishServer对J2EEWeb应用程序进行JUnit测试。我将其分解为仅使用单个sessionBean测试一个简单的Hello-WorldWeb应用程序。我的类路径中有glasfish-embedded-static-shell.jar,也尝试使用glassfish-embedded-all-3.1,但它也没有用。现在这是我用来测试bean的代码:importjavax.ejb.embeddable.EJBContainer;importorg.junit.AfterClass;impo