【问题标题】:Grails test-app updating function being tested and test print out problemsGrails test-app更新功能正在测试并测试打印输出问题
【发布时间】:2015-03-06 14:14:59
【问题描述】:

我在 GGTS 中运行 grails 2.3.3。

我正在为 Spring GGTS 中的服务功能成功运行单个单元测试。

我希望能够使用这个单元测试来开发特定的功能 - 这种方法将真正加快我的开发速度。

这意味着我需要对正在测试的服务功能进行更改,然后一遍又一遍地重新测试(无疑是对我的编码技能的悲哀反思!)。问题是当我对逻辑或任何 log.debug 输出进行更改时,它在测试中没有通过。换句话说,测试继续针对原始服务功能而不是更新的服务功能运行。

为了让我强制它使用更新的功能,我发现这样做的唯一方法是重新启动 GGTS!

我可以在 GGTS 中使用一个命令来强制对我正在测试的函数的最新版本进行测试吗?

以下是我在 GTTS 中使用的命令:

测试应用单元:UtilsService

我确实在功能更新后运行了一次清理但没有任何成功:

测试应用-clean

我还在努力从测试函数中获取额外的输出 - 引入“println”或“log.debug”命令会导致测试失败。

了解有关测试语法的文档的良好链接会很有用 - 我已经查看了 grails 第 12 节关于一般测试的内容。

这里是测试文件:

package homevu1

import grails.test.mixin.TestFor
import spock.lang.Specification

/**
* See the API for {@link grails.test.mixin.services.ServiceUnitTestMixin} for usage instructions
*/
@TestFor(UtilsService)
class UtilsServiceSpec extends Specification {

// to test utilSumTimes for example use the command : 
// test-app utilSumTimes

// test-app HotelStay

    def setup() {
    }

    def cleanup() {
    }

    void "test something"() {

    when:
    def currSec = service.utilSumTimeSecs( 27, 1, false)
    //println "currSec" , currSec

    then: 
    //println "currSec" , currSec
    assert currSec == "26"


        }
}

如果我取消注释任何一个 println 行,这些 cmets 不会显示并且测试失败。

欢迎任何建议。

-麦克

【问题讨论】:

    标签: spring unit-testing grails


    【解决方案1】:

    我现在必须通过从命令提示符(在 MS Windows 中)运行 grail 来完成这项工作。

    在命令提示符下,我移至 grails 项目的根文件夹/目录 - 以我为例:

    cd C:\grails\workspace\rel_3.1.0\HomeVu

    然后我键入 grails 以启动 grails 命令行会话。

    我使用的单元测试命令是:

    test-app -unit UtilsService -echoOut -echoErr

    也就是说我仍然无法成功地将任何打印命令放入测试文件中 - 但我可以使用断言来确定任何问题。

    服务功能的grails代码的最后一个log.debug行的输出也没有出现。也许这里的 MS Windows 存在一些输出缓冲问题。

    至少我现在可以进行一些快速的功能开发,通过更改服务/功能代码并立即测试是否针对一组已知的需求条件。

    希望这对其他人有所帮助。

    -麦克

    【讨论】:

      猜你喜欢
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多