2

I want to first save VO and get its Id (Primary Key) and then perform get and delete operation based on Id.

My code

@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);
    }

But when I set Id and use it in other methods it reset to 0.

How to use variable(e.g Id) in all JUnit Test methods?

0

2 Answers 2

3

Add setting Id to BeforeClass so it will be available in all methods (need to be static)

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
}
Sign up to request clarification or add additional context in comments.

Comments

2

Make id as static so there will be only one copy of it per jvm.

static public long Id;

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.