我想知道是否可以向 Junit 测试添加参数,就像在 testNg 中使用 xml 文件那样。我知道您可以在 Junit 中进行参数化测试,但这不是我想要的。
我现在如何做的一个简短示例:
String example = "test"
String name = "test
...
@Test
public void testCase(){
Page.addParameter(example);
我想删除方法中的这些变量,并希望从 xml 文件或其他方法中获取它。
有人知道如何解决这个问题吗?
最佳答案
如果您使用 Spring,您可以使用 @ContextConfiguration
来注释 JUnit 测试,传递一些 context.xml
配置,您还可以在其中指定 String 属性。
为此,您必须添加对 String Test (org.springframework:spring-test) 的依赖,并使用与此示例类似的方式(在 Groovy 中):
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = ['/config/dao-context.xml'])
class ClientServiceImplTest {
...
}
更新:
您可以将以下 bean 添加到 context.xml 中,以从某些 .properties 文件加载属性
// context.xml
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true"/>
<property name="location" value="file:test\resources\config\server.properties"/>
</bean>
<context:component-scan base-package="your.package" />
// Java code using property - autowired value by Spring
@Value("${server.dataPassword}")
private String dataPassword;
// server.properties
server.dataPassword=pwd
关于java - 如何向 JUnit 测试添加参数?是否可以像 testNg 中那样添加它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25506618/