gpt4 book ai didi

java - TestNG 是否有像 SpringJUnit4ClassRunner 这样的运行者

转载 作者:IT老高 更新时间:2023-10-28 13:44:58 26 4
gpt4 key购买 nike

当我在 JUnit 中(在 Spring 上下文中)编写测试时,我通常会这样做:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:testContext.xml")
public class SimpleTest {

@Test
public void testMethod() {
// execute test logic...
}
}

如何使用 TestNG 做同样的事情?


我会添加更多细节。使用 AbstractTestNGSpringContextTests 它可以工作,但不是我想要的方式。我有一些测试...

@ContextConfiguration(locations = { "classpath:applicationContextForTests.xml" })
public class ExampleTest extends AbstractTestNGSpringContextTests {

private Boolean someField;

@Autowired
private Boolean someBoolean;

@Test
public void testMethod() {
System.out.println(someField);
Assert.assertTrue(someField);
}

@Test
public void testMethodWithInjected() {
System.out.println(someBoolean);
Assert.assertTrue(someBoolean);
}

// setters&getters
}

和描述符...

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="exampleTest" class="pl.michalmech.ExampleTest">
<property name="someField">
<ref bean="someBoolean"/>
</property>
</bean>

<bean id="someBoolean" class="java.lang.Boolean">
<constructor-arg type="java.lang.String" value="true"/>
</bean>
</beans>

结果是……

null
true
Tests run: 2, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.599 sec <<< FAILURE!

Results :

Failed tests:
testMethod(pl.michalmech.ExampleTest)

这就是我问runner的原因。

最佳答案

TestNG 不使用 Spring 来实例化您的测试。这就是为什么 someField=null

关于java - TestNG 是否有像 SpringJUnit4ClassRunner 这样的运行者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2624724/

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