0

我正在尝试使用球衣测试框架测试球衣端点。我用@org.springframework.transaction.annotation.Transactional 注释了我的测试类。测试运行良好,但不会回滚。

OfferControllerTest

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(MyApplication.class)
@Transactional
public class OfferControllerTest extends JerseyTest {
@Test
    public void insertOrderTest() {
        Entity<InsertOffersRequest> insertOffersRequestEntity = Entity.entity(insertOffersRequest,
                MediaType.APPLICATION_JSON_TYPE);
        Response response = target(SavioUriConstants.ORDER_INSERT).register(provider)
                .register(HttpAuthenticationFeature.basic(env.getProperty("username"), env.getProperty("password")))
                .request(MediaType.APPLICATION_JSON_TYPE).post(insertOffersRequestEntity);
        assertEquals(200, response.getStatus());
        assertEquals("OFFERS IS ADDED SUCCESSFULLY", response.readEntity(OfferInsertResponse.class).getMessage());
    }

OfferServiceImpl

 @Service
    public class OffersServicesImpl  implements OffersService{

public OfferInsertResponse insertOffers(InsertOffersRequest request) {

            log.info("Insert offerInsert Services");
    Offers offers = new Offers();
            offers.setOffImage(request.getImage());
            offers.setOffLogo(request.getLogo());
            offers.setOffCompanyName(request.getCompanyName());
    Offers offer = (Offers) offersRepository.save(offers);

在控制台上

INFO ] 2016-06-27 18:00:14.880 [main] AuthenticationFilter - 226
[INFO ] 2016-06-27 18:00:14.881 [main] AuthenticationFilter - 202f660a-00e9-436e-af48-bcc7dcbd85c9
[INFO ] 2016-06-27 18:00:14.974 [main] OffersController - insert inside the InsertOfferController
[INFO ] 2016-06-27 18:00:14.975 [main] OffersServicesImpl - Insert offerInsert Services
[INFO ] 2016-06-27 18:00:15.009 [main] TransactionContext - **Rolled back transaction for test context** [DefaultTestContext@4848681d testClass = OfferControllerTest, testInstance = com.my.endpoint.OfferControllerTest@7712c315, testMethod = insertOrderTest@OfferControllerTest, testException = [null], mergedContextConfiguration = [MergedContextConfiguration@54d6f172 testClass = OfferControllerTest, locations = '{}', classes = '{class com.my.MyApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{}', contextLoader = 'org.springframework.boot.test.SpringApplicationContextLoader', parent = [null]]].

知道如何回滚测试类插入的行吗?

4

1 回答 1

0

尝试将注释添加到您的测试类

@Rollback(true)

这将指示事务始终回滚。

于 2016-06-28T12:07:53.837 回答