Java 在JUnit测试中使用变量
我想先保存VO并获取其Id(主键),然后根据Id执行get和delete操作 我的代码Java 在JUnit测试中使用变量,java,junit,Java,Junit,我想先保存VO并获取其Id(主键),然后根据Id执行get和delete操作 我的代码 @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class TransactionDAOImplTest { TransactionDAOImpl daoImpl = new TransactionDAOImpl(); public long Id; String transactionId = "1468597863";
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class TransactionDAOImplTest {
TransactionDAOImpl daoImpl = new TransactionDAOImpl();
public long Id;
String transactionId = "1468597863";
String uniqueKey = "124587878";
// @Ignore
@Test
public void test1_savetransaction() {
transactionVO transactionVO = new TransactionVO();
transactionVO.setTransactionId(transactionId);
transactionVO.setUniqueKey(uniqueKey);
transactionVO.setCreationDate(Calendar.getInstance());
transactionVO vo = daoImpl.saveTransaction(transactionVO);
Id = vo.getId(); // Here Id is setting to some value like 775
assertEquals(transactionId, vo.getTransactionId());
}
// @Ignore
@Test
public void test2_findTransactionEvent() {
transactionVO vo = daoImpl.findTransaction(Id); // Here Id is reseting to 0 it should be 775, so not able to get
assertEquals(transactionId, vo.getTransactionId());
}
// @Ignore
@Test
public void test3_deletetransaction() {
int deletedCount = daoImpl.deleteTransactionById(Id); // Here also Id reseting to 0 it should be 775, so not able to delete
assertTrue(deletedCount > 0);
}
但当我设置Id并在其他方法中使用它时,它会重置为0
如何在所有JUnit测试方法中使用变量(例如Id)?将Id设置为静态,以便每个jvm只有一个副本
static public long Id;
将设置Id添加到,使其在所有方法中都可用(需要是静态的)
public static long Id;
@BeforeClass public static void onlyOnce() {
transactionVO transactionVO = new TransactionVO();
transactionVO.setTransactionId(transactionId);
transactionVO.setUniqueKey(uniqueKey);
transactionVO.setCreationDate(Calendar.getInstance());
transactionVO vo = daoImpl.saveTransaction(transactionVO);
Id = vo.getId(); // Here Id is setting to some value like 775
}