草庐IT

DirtiesContext

全部标签

java - Junit 测试后的数据库清理

我必须使用Junit测试一些Thrift服务。当我作为Thrift客户端运行测试时,服务会修改服务器数据库。我找不到一个好的解决方案可以在每次测试运行后清理数据库。清理非常重要,尤其是因为当前从XML文件中读取的ID需要是唯一的。现在,我必须在运行测试后手动更改ID,以便下一组测试可以运行而不会在数据库中引发主键冲突。如果我可以在每次测试运行后清理数据库,那么问题就完全解决了,否则我将不得不考虑其他解决方案,例如生成随机ID并在需要ID的地方使用它们。编辑:我想强调一下,我正在测试一个正在写入数据库的服务,我没有直接访问数据库的权限。但由于服务是我们的,如果需要,我可以修改服务以提供任

java - 在测试类之前和之后使 ApplicationContext 变脏

我的Spring集成测试中有一个特定的类(比如说MyTest),它在Spring组件上使用PowerMock@PrepareForTest注释:@PrepareForTest(MyComponent.class)。这意味着PowerMock将加载这个类并进行一些修改。问题是,我的@ContextConfiguration是在MyTest扩展的父类(superclass)上定义的,而ApplicationContext被缓存在不同的测试类之间。现在,如果首先运行MyTest,它将具有正确的PowerMock版本的MyComponent,但如果不是-测试将失败,因为将为另一个测试加载上下文

java - 在测试类之前和之后使 ApplicationContext 变脏

我的Spring集成测试中有一个特定的类(比如说MyTest),它在Spring组件上使用PowerMock@PrepareForTest注释:@PrepareForTest(MyComponent.class)。这意味着PowerMock将加载这个类并进行一些修改。问题是,我的@ContextConfiguration是在MyTest扩展的父类(superclass)上定义的,而ApplicationContext被缓存在不同的测试类之间。现在,如果首先运行MyTest,它将具有正确的PowerMock版本的MyComponent,但如果不是-测试将失败,因为将为另一个测试加载上下文

Spring 我应该在每个类(class)上使用@DirtiesContext

我有几个junit测试,@ContextConfiguration(locations={"file:../business/src/test/resources/application-context-test.xml","file:src/main/webapp/WEB-INF/confA.xml","classpath:/mvc-dispatcher-servlet-test.xml"})@WebAppConfiguration@RunWith(SpringJUnit4ClassRunner.class)publicclassProductContentControllerTes

Spring 我应该在每个类(class)上使用@DirtiesContext

我有几个junit测试,@ContextConfiguration(locations={"file:../business/src/test/resources/application-context-test.xml","file:src/main/webapp/WEB-INF/confA.xml","classpath:/mvc-dispatcher-servlet-test.xml"})@WebAppConfiguration@RunWith(SpringJUnit4ClassRunner.class)publicclassProductContentControllerTes

java - 每次测试后重新加载 Spring 应用程序上下文

我有一个包含2个测试的测试类:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:applicationContextTest.xml"})@Transactional@TransactionConfiguration(defaultRollback=true)publicclassMyITestextendsimplementsBeanFactoryAware{privateBeanFactorybeanFactory;@Testpublicvoidtest1()thro

java - 每次测试后重新加载 Spring 应用程序上下文

我有一个包含2个测试的测试类:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:applicationContextTest.xml"})@Transactional@TransactionConfiguration(defaultRollback=true)publicclassMyITestextendsimplementsBeanFactoryAware{privateBeanFactorybeanFactory;@Testpublicvoidtest1()thro

spring - 在测试类弄脏 Spring JUnit 应用程序上下文后如何重置它?

我正在使用Spring3.1.1.RELEASE、JUnit4.8.1和HSQL2.7.7内存数据库。我有一个测试类注释为@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration({"classpath:test-trainingSessionServiceContext.xml"})@DirtiesContext(classMode=ClassMode.AFTER_EACH_TEST_METHOD)publicclassTrainingSessionServiceTest{问题是,当我运行“mvncleantest”时,

spring - 在测试类弄脏 Spring JUnit 应用程序上下文后如何重置它?

我正在使用Spring3.1.1.RELEASE、JUnit4.8.1和HSQL2.7.7内存数据库。我有一个测试类注释为@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration({"classpath:test-trainingSessionServiceContext.xml"})@DirtiesContext(classMode=ClassMode.AFTER_EACH_TEST_METHOD)publicclassTrainingSessionServiceTest{问题是,当我运行“mvncleantest”时,