Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringJUnit4ClassRunner获取特定的回写配置_Java_Spring_Junit - Fatal编程技术网

Java SpringJUnit4ClassRunner获取特定的回写配置

Java SpringJUnit4ClassRunner获取特定的回写配置,java,spring,junit,Java,Spring,Junit,有没有办法指定要在Spring运行的JUnit中使用的logback配置文件 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("/my/app/springConfiguration.xml") public class MyTest { private static final Logger logger = LoggerFactory.getLogger(MyTest.class); @Autowired

有没有办法指定要在Spring运行的JUnit中使用的logback配置文件

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/my/app/springConfiguration.xml")
public class MyTest {
  private static final Logger logger = LoggerFactory.getLogger(MyTest.class);

  @Autowired
  Something something;
} 
现在,我得到了logback.xml和多个。有一个应该在prod中运行,然后有一个我希望这个测试能够使用。有没有简单的方法


编辑:这个问题特定于我从Eclipse运行JUnit时的情况。我正在Windows7上开发Eclipse4.3



将该位置作为在eclipse中运行测试的配置上的JVM参数传递

-Dlogback.configurationFile="fullpathtofile\logback.xml"

您使用的构建系统是什么?将用于测试的构建系统放在
src/test/resources
中,将用于生产的构建系统放在
src/main/resources
中。您还可以将您的测试名命名为config
logback test.xml
,logback.Ok也应该选择它。但春天怎么知道什么时候接哪一个呢。我想看看是否有什么方法可以强迫它一个接一个。例如,像@ContextConfiguration一样,还有什么东西告诉JUnit选择一个特定的logback配置吗?JUnit不知道logback,所以您不能告诉它选择使用哪个logback配置,正如@M.Deinum所建议的,您应该使用类路径资源:src/test vs.src/main,或者logback-test.xml vs.logback.xml,请参阅了解有关加载logback配置的更多详细信息spring runner做了一些奇怪的事情,没有将测试资源添加到类路径或其他东西……这很奇怪