我有一個測試類,它有兩個註解爲@Test的方法。有兩種方法的jUnit失敗
如果我通過評論另一個單獨運行每個方法,它會成功。但是如果一起運行,它會失敗。可能是什麼原因?
public class ProductAvailTest {
private static final String PRODUCT_AVAIL_BUILDER = "ProductAvailBuilder";
@Test
public void productAvailResponseDateRequired() throws Exception {
ResponseBuilderFactory responseBuilderFactory = ResponseBuilderFactory.createResponseBuilderFactory();
ResponseBuilder responseBuilder = responseBuilderFactory.createResponseBuilder(PRODUCT_AVAIL_BUILDER);
ProductAvailDateRqdHelper productAvailDateRqdHelper = new ProductAvailDateRqdHelper();
List<Rsproducts> products = productAvailDateRqdHelper.getLOMProducts();
// TODO change this to logger
System.out.println("No. of products in test " + products.size());
GetProductAvailOutput actualProductAvailOutput = (GetProductAvailOutput) responseBuilder.buildSuccessResponse(
products, productAvailDateRqdHelper.getProductAvailInput());
GetProductAvailOutput expectedProductAvailOutput = productAvailDateRqdHelper.getProductAvailOutput();
// TODO change this to logger
System.out.println("Size in expected " + expectedProductAvailOutput.getProductBrand().size());
System.out.println("Size in actual " + actualProductAvailOutput.getProductBrand().size());
Assert.assertEquals(expectedProductAvailOutput, actualProductAvailOutput);
}
@Test
public void productAvailResponseInvBased() throws Exception {
ResponseBuilderFactory responseBuilderFactory = ResponseBuilderFactory.createResponseBuilderFactory();
ResponseBuilder responseBuilder = responseBuilderFactory.createResponseBuilder(PRODUCT_AVAIL_BUILDER);
ProductAvailInvHelper productAvailInvHelper = new ProductAvailInvHelper();
List<Rsproducts> products = productAvailInvHelper.getLOMProducts();
// TODO change this to logger
System.out.println("No. of products in test " + products.size());
System.out.println("No of inventory " + products.get(0).getRsproddtls().size());
GetProductAvailOutput actualProductAvailOutput = (GetProductAvailOutput) responseBuilder.buildSuccessResponse(
products, productAvailInvHelper.getProductAvailInput());
GetProductAvailOutput expectedProductAvailOutput = productAvailInvHelper.getProductAvailOutput();
// TODO change this to logger
System.out.println("Size in expected " + expectedProductAvailOutput.getProductBrand().size());
System.out.println("Size in actual " + actualProductAvailOutput.getProductBrand().size());
Assert.assertEquals(expectedProductAvailOutput, actualProductAvailOutput);
}
@Test
public void productAvailResponseFreeSell() throws Exception {
ResponseBuilderFactory responseBuilderFactory = ResponseBuilderFactory.createResponseBuilderFactory();
ResponseBuilder responseBuilder = responseBuilderFactory.createResponseBuilder(PRODUCT_AVAIL_BUILDER);
ProductAvailFreeSellHelper productAvailFreeSellHelper = new ProductAvailFreeSellHelper();
List<Rsproducts> products = productAvailFreeSellHelper.getLOMProducts();
// TODO change this to logger
System.out.println("No. of products in test " + products.size());
GetProductAvailOutput actualProductAvailOutput = (GetProductAvailOutput) responseBuilder.buildSuccessResponse(
products, productAvailFreeSellHelper.getProductAvailInput());
GetProductAvailOutput expectedProductAvailOutput = productAvailFreeSellHelper.getProductAvailOutput();
// TODO change this to logger
System.out.println("Size in expected " + expectedProductAvailOutput.getProductBrand().size());
System.out.println("Size in actual " + actualProductAvailOutput.getProductBrand().size());
Assert.assertEquals(expectedProductAvailOutput, actualProductAvailOutput);
}
}
你會發布你的代碼嗎? – helios 2011-05-25 11:15:50
helios,我已經添加了代碼。問題是如果我顛倒了序列,比如我在productAvailResponseInvBased()之前放置productAvailResponseFreeSell(),那麼測試失敗。而如果我把它作爲上面的順序它成功。可能是什麼問題呢? – Sripaul 2011-05-26 06:33:31