Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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 正在声明测试依赖项!_Java_Playframework_Dependency Management - Fatal编程技术网

Java 正在声明测试依赖项!

Java 正在声明测试依赖项!,java,playframework,dependency-management,Java,Playframework,Dependency Management,有没有办法在播放的dependencies.yml文件中声明测试依赖项!框架我在中没有看到任何关于测试依赖关系的信息 例如,我可能想使用Mockito之类的测试库,但出于明显的原因,不想在生产中使用它的类。似乎可以定义每个播放的依赖项,类似于在application.conf文件中定义特定ID的设置。为此,您需要在依赖项定义中添加一个额外的id属性 例如,如果您只想在框架ID为test的环境中包含mockito core,那么dependencies.yml文件如下所示: require:

有没有办法在播放的dependencies.yml文件中声明测试依赖项!框架我在中没有看到任何关于测试依赖关系的信息


例如,我可能想使用Mockito之类的测试库,但出于明显的原因,不想在生产中使用它的类。

似乎可以定义每个播放的依赖项,类似于在application.conf文件中定义特定ID的设置。为此,您需要在依赖项定义中添加一个额外的
id
属性

例如,如果您只想在框架ID为
test
的环境中包含mockito core,那么dependencies.yml文件如下所示:

require:
    - org.mockito -> mockito-core 1.8.5:
        id: test
当你使用一台机器的时候,你也可以做到这一点,尽管你必须更加慎重。要使用仅测试依赖项进行测试,您需要使用
id:test
定义依赖项,然后运行:

play dependencies --%test --sync
play test
然后,要切换回生产,您需要运行:

play dependencies --sync
play run

缺点是,每次在测试模式和生产模式之间切换时,您都必须记住同步依赖项,但我认为,如果您想确保在测试模式下依赖项仅位于类路径上,这是目前最好的方法。

抱歉,我仍然有点困惑。只是想澄清一下,接下来我将如何声明测试所需的mockito依赖项,但在执行“播放运行”时未使用该依赖项?(ID不是test)@digiarnie好吧,如果您有单独的测试和生产环境,那么当您调用
播放依赖项时,没有指定ID的环境将不会加载特定的依赖项。如果两个环境相同(例如,您正在调用
播放测试
而不是
播放运行
),那么它应该仍然是可管理的,您只需同步两者之间的依赖项即可。当我确定最好的方法是什么时,我会更新答案。好的,我知道你现在在做什么。我以前很困惑,因为我认为你的“-dependency”是一个关键词,但实际上你指的是实际的库(我的错)。你的建议看起来很管用,但不得不切换ID有点烦人,但这似乎是目前唯一的办法。谢谢你的见解。@digiarnie啊,很抱歉。我已经更新了答案,使用了实际的依赖项定义,以避免混淆其他人。