我正在尝试使用球衣测试框架测试球衣端点。我用@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]]].
知道如何回滚测试类插入的行吗?