java - 如何向 JUnit 测试添加参数?是否可以像 testNg 中那样添加它们?

标签 java unit-testing selenium junit testng

我想知道是否可以向 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/

相关文章:

python - 为什么我无法使用 Selenium 选择/单击纯文本链接?

java - 如何从 Activity 中调用 fragment 方法?

类 FIELD 上的 java 注释不起作用

java - JSON解析性能慢

java - Google API - 重定向 URI 不匹配错误

java - ScheduledThreadPoolExecutor 的单元测试

Python Kafka 模拟 Kafka Consumer 的返回类型

java - Selenium ChromeDriver 加载扩展路径问题

c# - 我应该如何在 C# 中对多个必填字段进行单元测试?

javascript - NoSuchElementError : Unable to locate element - Selenium webdriver using Javascript 错误