草庐IT

java - 无法使用 Spring 进行 JUnit 测试

我的测试定义如下:packagecom.mytest;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfigurationpublicclassSpringTestCase{@TestpublicvoidtestSave_success(){fail("Notimplemented");}}我的目的是运行这个测试并失败!我测试的spring配置文件位于:/com/mytest/SpringTestCase-context.xml我的spring配置文件内容如下:当我运行测试时,出现以下异常:java.lang.NoClassDefFo

java - 无法使用 Spring 进行 JUnit 测试

我的测试定义如下:packagecom.mytest;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfigurationpublicclassSpringTestCase{@TestpublicvoidtestSave_success(){fail("Notimplemented");}}我的目的是运行这个测试并失败!我测试的spring配置文件位于:/com/mytest/SpringTestCase-context.xml我的spring配置文件内容如下:当我运行测试时,出现以下异常:java.lang.NoClassDefFo

java - 如何在 Java (jUnit4) 中轻松模拟出静态方法

如何在Java中轻松模拟出静态方法?我正在使用Spring2.5和JUnit4.4@ServicepublicclassSomeServiceImplimplementsSomeService{publicObjectdoSomething(){Logger.getLogger(this.class);//astaticmethodinvoked.//...}}我不控制我的服务需要调用的静态方法,因此我无法将其重构为更易于单元测试。我用过Log4JLogger作为一个例子,但真正的静态方法是相似的。改变静态方法不是一个选项。做Grails工作,我习惯使用类似的东西:defmockedC

java - 如何在 Java (jUnit4) 中轻松模拟出静态方法

如何在Java中轻松模拟出静态方法?我正在使用Spring2.5和JUnit4.4@ServicepublicclassSomeServiceImplimplementsSomeService{publicObjectdoSomething(){Logger.getLogger(this.class);//astaticmethodinvoked.//...}}我不控制我的服务需要调用的静态方法,因此我无法将其重构为更易于单元测试。我用过Log4JLogger作为一个例子,但真正的静态方法是相似的。改变静态方法不是一个选项。做Grails工作,我习惯使用类似的东西:defmockedC

spring - 运行测试套件时 Ehcache 关闭导致异常

我遇到了以下问题。我的项目中有一套测试服,每个单独的测试都运行良好。但是,当我将它们作为套件运行时,其中一些会失败,但出现以下异常:Causedby:java.lang.IllegalStateException:ThedaoCacheisnotalive(STATUS_SHUTDOWN)atnet.sf.ehcache.Cache$CacheStatus.checkAlive(Cache.java:4269)atnet.sf.ehcache.Cache.checkStatus(Cache.java:2703)atnet.sf.ehcache.Cache.get(Cache.java:

spring - 运行测试套件时 Ehcache 关闭导致异常

我遇到了以下问题。我的项目中有一套测试服,每个单独的测试都运行良好。但是,当我将它们作为套件运行时,其中一些会失败,但出现以下异常:Causedby:java.lang.IllegalStateException:ThedaoCacheisnotalive(STATUS_SHUTDOWN)atnet.sf.ehcache.Cache$CacheStatus.checkAlive(Cache.java:4269)atnet.sf.ehcache.Cache.checkStatus(Cache.java:2703)atnet.sf.ehcache.Cache.get(Cache.java:

java - 如何告诉spring只加载JUnit测试所需的bean?

一个可能有高级答案的简单问题。问题:我的问题是,有没有办法在您的应用程序上下文中仅实例化特定JUnit测试所需的类?原因:我的应用程序上下文变得相当大。我也做了很多集成测试,所以我想你会明白,当我说每次我运行测试时,我的应用程序上下文中的所有类都会被实例化,这需要时间。例子:说类Foo只注入(inject)吧publicclassFoo{@InjectBarbar;@TestpublicvoidtestrunSomeMethod()throwsRegisterFault{bar.runSomeMethod();}但是应用程序上下文有beanfoobar和bar。我知道这不是一个有效的应

java - 如何告诉spring只加载JUnit测试所需的bean?

一个可能有高级答案的简单问题。问题:我的问题是,有没有办法在您的应用程序上下文中仅实例化特定JUnit测试所需的类?原因:我的应用程序上下文变得相当大。我也做了很多集成测试,所以我想你会明白,当我说每次我运行测试时,我的应用程序上下文中的所有类都会被实例化,这需要时间。例子:说类Foo只注入(inject)吧publicclassFoo{@InjectBarbar;@TestpublicvoidtestrunSomeMethod()throwsRegisterFault{bar.runSomeMethod();}但是应用程序上下文有beanfoobar和bar。我知道这不是一个有效的应

java - 如何将参数化 JUnit 测试运行器与使用 Spring 注入(inject)的字段一起使用?

我正在使用Spring将目录路径注入(inject)到我的单元测试中。在这个目录中有许多文件,这些文件应该被用来为参数化测试用例生成测试数据,使用Parameterized。测试赛跑者。不幸的是,测试运行器要求提供参数的方法是静态的。这不适用于我的情况,因为该目录只能注入(inject)到非静态字段中。有什么想法可以解决这个问题吗? 最佳答案 您可以使用Spring中的TestContextManager。在这个例子中,我使用的是理论而不是参数化。@RunWith(Theories.class)@ContextConfigurati

java - 如何将参数化 JUnit 测试运行器与使用 Spring 注入(inject)的字段一起使用?

我正在使用Spring将目录路径注入(inject)到我的单元测试中。在这个目录中有许多文件,这些文件应该被用来为参数化测试用例生成测试数据,使用Parameterized。测试赛跑者。不幸的是,测试运行器要求提供参数的方法是静态的。这不适用于我的情况,因为该目录只能注入(inject)到非静态字段中。有什么想法可以解决这个问题吗? 最佳答案 您可以使用Spring中的TestContextManager。在这个例子中,我使用的是理论而不是参数化。@RunWith(Theories.class)@ContextConfigurati