问题标签 [grails-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4073 浏览

grails - Grails 服务事务

我试图让事务在 Grails 服务中工作,但我没有得到我期望的结果。如果我做错了什么,如果我的假设不成立,有人可以告诉我吗?

我的域类:

我的服务:

我的单元测试: import grails.test.*

结果:

我的期望:

当账户的余额为负时,它不应该验证(它不验证),应该抛出一个 RuntimeException(它是),并且账户应该回滚到它之前的状态(余额:2000),即它分崩离析的地方。

我在这里想念什么?

0 投票
2 回答
3196 浏览

groovy - Spock - 模拟外部服务

我是 spock 框架测试的新手,我没有找到任何可以找到所需信息的示例。因此,我认为最好的方法是展示一个我需要的例子。

  1. 例如 spock 中的测试类:

    /li>
  2. 服务等级:

    /li>
  3. 将数据分类为域类:

    /li>

现在我有getData测试并且想模拟唯一的方法callAndGet()。这意味着每次我打电话时,callAndGet我都需要有带有 msg SUCCESS的对象数据,但方法中的所有其他方法getData都应该正常调用。

是不是很好理解?问题是我们如何将服务类注入/模拟ExternalService到 spock 测试类中?

0 投票
1 回答
82 浏览

grails - 带有 Geb 的 Grails 3 在“角力矩”上失败

我正在尝试使用 Grails 3 设置 Geb。(我从 Intellij 运行它)我们目前正在实现一个没有任何 ux 的 api。对我们来说,测试 REST API 请求就足够了。

test-app正如我在控制台日志中看到的那样,我开始测试。测试因错误而中断:

:karmaRun

PhantomJS 2.1.1 (Windows 8 0.0.0) ERROR 错误:角力矩找不到力矩!请参考: grails-app/assets/bower/angular/angular-moment.js:27 上的https://github.com/urish/angular-moment

我什至不想让业力运行。

问题

要么:如何纠正上述错误?或者(最好):如何从测试运行中禁用/删除任何 ux 测试部分,如业力?

0 投票
0 回答
589 浏览

hibernate - Grails 的测试问题:设置和清理,没有完全清理

我有一个集成测试,我正在测试一些在我的两个域对象之间运行的业务逻辑方法。

因为我有多个测试创建相同的对象集以在不同条件下运行我的测试,所以我在设置中创建域对象并在清理中删除它们。

但是,我org.springframework.dao.DuplicateKeyException第二次尝试保存此对象,其中我对该对象所做的唯一更改不是唯一字段。根据下面的消息,似乎先前测试的版本可能会以某种方式徘徊。

如果我不使用设置和清理,而是在每个测试方法的主体中创建所有对象,则测试通过。

相关代码和错误如下:

错误:

原因:org.hibernate.NonUniqueObjectException:具有相同标识符值的不同对象已与会话相关联:org.hibernate.engine.internal.StatefulPersistenceContext.checkUniqueness(StatefulPersistenceContext. java:642) 在 org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsDetached(DefaultSaveOrUpdateEventListener.java:227) 在 org.hibernate.event.internal 的 org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.performUpdate(DefaultSaveOrUpdateEventListener.java:284) .DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:92) 在 org.grails.orm.hibernate.support 的 org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:73)。ClosureEventTriggeringInterceptor.onSaveOrUpdate(ClosureEventTriggeringInterceptor.java:81) at org.hibernate.internal.SessionImpl.fireSaveOrUpdate(SessionImpl.java:651) at org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:643) at org.hibernate.internal .SessionImpl.saveOrUpdate(SessionImpl.java:638) at org.grails.orm.hibernate.AbstractHibernateGormInstanceApi.performSave_closure3(AbstractHibernateGormInstanceApi.groovy:242) at groovy.lang.Closure.call(Closure.java:414) at org.grails。 orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:243) ... 还有 14 个643) 在 org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:638) 在 org.grails.orm.hibernate.AbstractHibernateGormInstanceApi.performSave_closure3(AbstractHibernateGormInstanceApi.groovy:242) 在 groovy.lang.Closure.call(Closure.java :414) 在 org.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:243) ... 还有 14 个643) 在 org.hibernate.internal.SessionImpl.saveOrUpdate(SessionImpl.java:638) 在 org.grails.orm.hibernate.AbstractHibernateGormInstanceApi.performSave_closure3(AbstractHibernateGormInstanceApi.groovy:242) 在 groovy.lang.Closure.call(Closure.java :414) 在 org.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:243) ... 还有 14 个

0 投票
1 回答
128 浏览

grails - 在 Grails 中测试时如何从域类中调用方法?

我在我的域类中编写了一个静态方法,我必须在我的 Grails 测试中对其进行测试。现在如何从域类中调用该方法。该静态方法将从我的数据库中获取一些数据并将其返回。

0 投票
1 回答
28 浏览

ruby-on-rails - 如何在 Ruby on Rails 中编写测试用例

  • 我是 Rails 测试的新手。那么我该如何开始我的测试。
  • 任何人都知道更好的 Rails 测试教程。
0 投票
2 回答
263 浏览

grails - 获取 Grails 2.* 中其他环境的配置

我正在运行 Grails 2.1.1,并且正在寻找一种方法来获取在测试环境中运行时在生产中设置的变量的值。配置文件:

我知道获取配置变量的唯一方法是 grailsApplication.config.url

0 投票
1 回答
422 浏览

grails - Grails test-app 失败,而 test-app 单独的联合测试工作

我有一个带有多个单元测试的 Grails 3.3.5 应用程序。当我单独运行此测试时,它们按预期运行,但是当我运行一般测试应用程序时,测试失败并显示以下消息:

这是单独运行时按预期工作但在全局测试中失败的单元测试之一:

我怎样才能解决这个问题并一起而不是单独运行我的测试。

编辑:我忘了提到我正在使用两个数据源,一个默认保存几乎所有应用程序数据,另一个只保存与另一个应用程序共享的 6 个域。