我想在我的测试类中使用多个外部资源,但是在外部资源的排序上有问题。
下面是代码片段:
public class TestPigExternalResource {
// hadoop external resource, this should start first
@Rule
public HadoopSingleNodeCluster cluster = new HadoopSingleNodeCluster();
// pig external resourcem, this should wait until hadoop external resource starts
@Rule
public PigExternalResource pigExternalResource = new PigExternalResource();
...
}
问题是它试图在hadoop启动之前启动pig,因此我无法连接本地hadoop单节点集群。
有没有什么办法来订junit的规则?
谢谢
3条答案
按热度按时间umuewwlo1#
你可以使用规则链。
wvyml7n52#
你为什么不把这两个包起来
ExternalResources
你自己的ExternalResource
这就叫before
以及after
从新资源的before
以及after
方法。例子:
ars1skjm3#
中有一个新的order属性
@Rule
以及@ClassRule
从JUnit4.13-beta-1开始。看到了吗
@Rule
代码:另请参见本请购单:pr-1445。