由于重复的@RunWith
注释,以下代码无效:
@RunWith(SpringJUnit4ClassRunner.class)
@RunWith(Parameterized.class)
@SpringApplicationConfiguration(classes = {ApplicationConfigTest.class})
public class ServiceTest {
}
但是,如何结合使用这两个注释?
至少有两个选项可以做到这一点:
您的测试需要看起来像这样:
@RunWith(Parameterized.class)
@ContextConfiguration(classes = {ApplicationConfigTest.class})
public class ServiceTest {
private TestContextManager testContextManager;
@Before
public void setUpContext() throws Exception {
//this is where the magic happens, we actually do "by hand" what the spring runner would do for us,
// read the JavaDoc for the class bellow to know exactly what it does, the method names are quite accurate though
this.testContextManager = new TestContextManager(getClass());
this.testContextManager.prepareTestInstance(this);
}
...
}
@SuppressWarnings("InstanceMethodNamingConvention")
@ContextConfiguration(classes = {ServiceTest.class})
public class SpringAwareTest {
@ClassRule
public static final SpringAware SPRING_AWARE = SpringAware.forClass(SpringAwareTest.class);
@Rule
public TestRule springAwareMethod = SPRING_AWARE.forInstance(this);
@Rule
public TestName testName = new TestName();
...
}
因此,您可以让一个基本类实现其中一种方法,并从中继承所有测试。
问题内容: 标准接口只有非参数化方法。也有接口与泛型类型的方法返回结果。我需要传递通用参数,如下所示: 是否有用于此目的的标准接口,或者我必须自己声明该基本接口? 问题答案: 通常,您将实现或作为支持通用输入参数的类;例如
我有一个管道,我刚刚添加了2个参数来构建发布或调试(参数称为发布或调试)。管道使用cron语法每10分钟检查一次SCM中的更改,管道检查每次提交,然后构建发布(C程序),但我想每天构建调试一次,比如说每天从12到13的每个提交都将在调试中构建。所有这些都不需要我运行管道和手动更改参数(默认设置为release)。有什么办法可以做到这一点?这是管道的一个非常简短的版本:
我有一个类似这样的pytest测试: 现在,作为重构的一部分,我移动了这一行: 放入它自己的夹具中(在conftest.py文件中),因为它在其他地方使用。但是,除了直接导入fixture函数外,是否有其他方法在测试中引用它?我知道funcargs通常是调用fixture的方式,但是在本文中,当我想要调用fixture时,我不在测试函数中。
问题内容: 我想在gradle中定义一个任务(称为),该任务运行gradle任务,但具有的固定值。我也希望以后可以使用原始任务。 我的问题是,我无法转移清单的设置。 我累了 我以为我要通过对archiveName和manifest使用其他值来重新定义任务。 运行时会生成一个可执行的JAR文件。 运行时会生成一个jar文件。不幸的是,当尝试使用我运行程序时,出现错误消息: java -jar bui
因此,我的实体包含不同语言的名称,我希望将它映射到给定的 这是我的映射器类 现在我的问题是,我应该如何注释我的映射方法,以便它将理解为我的源对象,方法理解为字段的映射方法,方法的参数?
问题内容: Jenkins允许您对构建进行参数化,但是我不知道如何实际使用它: 假设我通常会像下面这样从命令行启动我的Ant构建: 这将调用build.xml的package目标,并为其提供名为的属性packageType,其值为jar。 我假设在上面的屏幕截图中,“ 名称”字段是我要 指定的位置packageType,但是值呢? 如果Jenkins希望我为该属性指定默认值,那么在哪里可以指定项目