Hej, potrzebuje napisać testy jednostkowe klas Dao, do tej pory robiłem to po prostu w mainie w taki sposób:
InitialContext ic = new InitialContext();
OfferRemote offerEjb = (OfferRemote) ic.lookup("java:global/ee-std-client-demo-ear/ee-std-client-demo-ejb-1.0/OfferDao");
UserAccountRemote userEjb = (UserAccountRemote) ic.lookup("java:global/ee-std-client-demo-ear/ee-std-client-demo-ejb-1.0/UserAccountDao");
AuctionRemote auctionEjb = (AuctionRemote) ic.lookup("java:global/ee-std-client-demo-ear/ee-std-client-demo-ejb-1.0/AuctionDao");
/* UserAccount user = new UserAccount();
user.setUsername("filip");
user.setEmail("example100@gmail.com");
Offer offer = new Offer();
offer.setPrice(2200d);
Offer offer2 = new Offer();
offer.setPrice(2500d);
Auction auction = new Auction();
auction.setDescription("opel na sprzedaz");
auction.setPrice(2000d);
auction.setTitle("opelek na sprzedaz");
auction.addOffer(offer);
auction.setExpirationTimestamp(new Timestamp(System.currentTimeMillis() - 86400000l));
user.addOffer(offer, auction);
user.addOffer(offer2, auction);
user.addAuction(auction);
userEjb.save(user);*/
ale myślę, żeby to zrobić elegancko przy pomocy Junita. Napisałem takie coś, ale funkcje, które normalnie działały w powyższym mainie nie dodają rzeczy do baz danych(czy w ogóle powinny to robić) i testy automatycznie nie zdają egzaminu.
public class AuctionDaoUnitTest {
private AuctionDao auctionDao = new AuctionDao();
@Test
public void saveTest() {
Auction auction = new Auction();
auction.setTitle("test");
auction.setPrice(20d);
auction.setDescription("cos na sprzedaz");
auctionDao.save(auction);
assertEquals(auction, auctionDao.findById(1l));
}
}
new
:Dvpiotr