Testing Grails:本地测试通过,测试环境测试失败

Testing Grails:本地测试通过,测试环境测试失败,testing,grails,Testing,Grails,我有一个Grails应用程序,在本地Windows机器上运行时,它通过了集成测试套件中的所有测试。当我将我的应用程序部署到Jenkins的测试环境中,并运行同一套测试时,其中一些测试由于无法解释的原因而失败 我认为测试箱是Linux,但我不确定。我在Grails应用程序中使用mock,我想知道这是否会导致返回值的混乱 有人有什么想法吗 编辑: 我的应用程序将XML文档转换为新的XML文档。返回的XML文档中的一个元素应该是PRODUCT,但返回时是PRODUCT 设置此元素的位置来自内存中的数据

我有一个Grails应用程序,在本地Windows机器上运行时,它通过了集成测试套件中的所有测试。当我将我的应用程序部署到Jenkins的测试环境中,并运行同一套测试时,其中一些测试由于无法解释的原因而失败

我认为测试箱是Linux,但我不确定。我在Grails应用程序中使用mock,我想知道这是否会导致返回值的混乱

有人有什么想法吗

编辑: 我的应用程序将XML文档转换为新的XML文档。返回的XML文档中的一个元素应该是PRODUCT,但返回时是PRODUCT

设置此元素的位置来自内存中的数据库,该数据库由DB脚本填充。它与本地和我的测试环境中使用的DB脚本相同


该应用程序不会读取任何在不同环境下可能不同的配置文件。

与其他人一样,这里的信息确实不足以帮助给出可靠的答案。我要看的几件事是:

  • 如果是集成测试失败了,那么可能您有一些“糟糕的测试”,它们依赖于Jenkins所运行的测试环境中不存在的某些数据

  • 没有保证跨机器/平台的测试执行顺序的一致性。因此,完全有可能测试在本地通过,只是因为它们按特定顺序运行,并保留一个测试中的模拟内容或另一个测试中需要的数据设置。我不久前写了一个插件()来帮助识别这些问题。自从Grails1.3.7之后,我就没有更新过该插件,因此它可能无法与2.0+Grails应用程序一起使用

  • 如果上面的步骤没有发现问题,那么了解Jenkins和Local上调用测试的方式有什么不同将是有益的。例如,如果在Jenkins上运行时指定一个特定的grails环境(),以及该环境与本地服务器上使用的grails环境之间的区别


  • 没有提供足够的信息。请确切地告诉我们哪种测试通过和失败,以及在哪种情况下。请告诉我们进行测试的环境。您在测试中是否参考了系统?比如在测试中读取文件?正如Matt提到的,您需要添加更多信息。例如,您在测试框上遇到的错误。我在断线差异方面遇到了一些问题,但正如Matt所说,没有足够的信息来提供答案。我在测试上运行的测试如下:“干净-非交互式”“测试应用程序-单元-集成-非交互式”。当我用同一个命令在本地运行测试时,它们都通过了。我要试试你的插件。我怀疑这可能是个问题。我想知道是否有这样一个插件可用。你干得好。