私は今、私が次のようなものを持っている状況にあります:
public class SomeTest extends AbstractMyTest {
@Test
public void something() {
//Test something, related to the AbstractMyTest config
}
@Override
public String getConfiguration() {
return "myConfigFile.ini";
}
}
public abstract class AbstractMyTest {
@Before
public void before() {
//Do some init stuff that calls getConfiguration()...
}
abstract String getConfiguration();
}
今、私はAbstractMyTestクラスを取り除くことを考えており、次のようなものがあります。
@MyTestConfig(value="myConfigFile.ini")
public class SomeTest {
@Test
public void something() {
//Test something, related to the AbstractMyTest config
}
}
したがって、AbstractMyTestクラスが担当したことを実行するカスタムランナーがあるかもしれません。すべてのTestClassで実行しなくても、@ BeforeClassまたは@Beforeの方法でいくつかのことを実行できるようにしたいと思います。そのようなランナーはどのように構成されますか?
なぜRunner
ここに習慣が必要なのかよくわかりません。
Rule
sを使用して、やりたいことを正確に実行できるようです。特に、ExternalResource
ルールを見てください:
public class SomeTest {
@Rule
public MyTestRule myRule = new MyTestRule("myConfigFile.ini");
...
}
public class MyTestRule extends ExternalResource {
...
protected void before() { ... }
...
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加