在下面使用此方法时,通过设置带有套件的jUnit.在任何测试开始执行之前,每个Testclass中的所有@BeforeClass都会被执行,我们遇到了问题.(对于每个运行@BeforeClass的n个TestClass文件,然后在执行之后,它开始执行第一个MyTest.class文件@Test)
这将导致我们分配大量资源和内存.我的想法是它一定是错的,不应该每个@BeforeClass只在执行实际的测试类之前运行,而不是在Suite启动时运行吗?
@RunWith(Suite.class)
@Suite.SuiteClasses({ MyTests.class, Mytests2.class, n1, n2, n })
public class AllTests {
// empty
}
public class MyTests { // no extends here
@BeforeClass
public static void setUpOnce() throws InterruptedException {
...
@Test
...
public class MyTests2 { // no extends here
@BeforeClass
public static void setUpOnce() throws InterruptedException {
...
@Test
...
Run Code Online (Sandbox Code Playgroud) 由于数据量和速度的原因,在我们的情况下将数据写入Cassandra而不会导致它创建墓碑是至关重要的.目前我们只写了一次,然后再也没有需要再次更新行,只是再次获取数据.
现在有一种情况,我们实际上需要编写数据,然后用更多的数据完成它,一段时间后就完成了.它可以由任何一个制成;
使用INSERT(所有数据都可用)再次覆盖连续的所有数据,或
仅对新数据执行更新.
什么是最好的方法,牢记速度而不是创建墓碑是重要的?