gpt4 book ai didi

java - 单元测试进行中!不需要测试播放服务器的框架应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:37:34 26 4
gpt4 key购买 nike

在我的 Play 中运行我的测试的一个选项!应用程序是通过执行命令play auto-test

Play 似乎识别要运行的测试的方法之一是查找所有具有父类(super class) play.test.UnitTest(或其他 Play 等效项)的测试类。让测试类扩展 UnitTest 似乎会带来一些开销,如控制台中吐出的这些东西所示:

INFO   info, Starting C:\projects\testapp\.
WARN warn, Declaring modules in application.conf is deprecated. Use dependencies.yml instead (module.secure)
INFO info, Module secure is available (C:\play-1.2.1\modules\secure)
INFO info, Module spring is available (C:\projects\testapp\.\modules\spring-1.0.1)
WARN warn, Actually play.tmp is set to null. Set it to play.tmp=none
WARN warn, You're running Play! in DEV mode
INFO info, Connected to jdbc:h2:mem:play;MODE=MYSQL;LOCK_MODE=0
INFO info, Application 'Test App' is now started !

显然,为需要此类设置的测试提供 Play 环境很有用,但是,如果我有一个测试生产代码的测试类,该代码执行不需要 Play 环境的逻辑,我不想扩展 UnitTest 这样我就可以避免启动 Play 环境的开销。

如果我有一个未扩展 UnitTest 的测试类,则它不会被命令 play auto-test 执行。有没有办法让 play auto-test 命令执行所有测试,而不管我是否扩展 Play 的 UnitTest

编辑:实际上有人提出了 ticket对于这个问题

最佳答案

简短的回答:没有。一个更长的答案:不,除非你改变框架中的代码。 autotest 是一个 Ant 任务,它设置服务器并触发测试,但它没有使用 ant 任务,所以它不会检测(默认情况下)您的“正常”单元测试。

您有两个选择:要么向 Play 的 Ant 文件添加一个额外的任务以通过该任务运行单元测试(您还需要包含相关的 jar),要么编辑用于启动 Play 测试环境的代码.

两者都意味着将框架改变到一定程度。尽管假设您正在使用 Play,但我想知道为什么您不应该让所有测试都遵循 Play 模式...

关于java - 单元测试进行中!不需要测试播放服务器的框架应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6367690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com