在 Grails 单元测试中注入服务

2024-01-18

我知道您可以简单地使用以下方法在单元测试方法中注入服务:

defineBeans {
   someService(SomeService)
}

但是当我需要在服务中注入服务时(服务someService称自己为另一个服务some2Service)。当我使用上面的代码运行测试时,我收到:

Message: Cannot invoke method someMethod() on null object

是否可以在单元测试中将服务注入到服务中?

谢谢。 ;-)


要在单元测试中使用 spring bean,您需要执行以下操作:

  • 包括测试所依赖的所有服务和其他 beandefineBeans关闭。
  • Set the autowire财产给true对于需要注入其他 Bean 的 Bean。

例如:

defineBeans {
    someService(SomeService) { bean ->
        bean.autowire = true
    }
    some2Service(Some2Service)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Grails 单元测试中注入服务 的相关文章

  • 单元测试和静态方法

    阅读并学习单元测试 试图理解以下帖子 http misko hevery com 2008 12 15 static methods are death to testability 这解释了静态函数调用的困难 我不太清楚这个问题 我一直认
  • 通用接口依赖注入工厂

    我正在玩 DI 和 Ninject 我愿意征求有关如何以其他方式解决此问题的建议 我试图确保 ICreateOrders 的具体实现可以被替换 如果需要的话 也许还有另一种方式或模式 像这样的解决方案 C Ninject IoC 和工厂模式
  • Python unittest - 与assertRaises相反?

    我想编写一个测试来确定在给定情况下不会引发异常 测试是否有异常很简单is上调 sInvalidPath AlwaysSuppliesAnInvalidPath self assertRaises PathIsNotAValidOne MyO
  • Guice:当 FactoryBuilder 中提供合适的构造函数时,“找不到合适的构造函数”

    我使用 Guice 进行依赖注入 但收到此错误 1 Could not find a suitable constructor in java lang Void Classes must have either one and only
  • 如何在Python模拟中调用模拟方法

    我想创建一个模拟方法来调用被模拟的底层方法 我正在想象类似以下的内容 但我找不到任何有关模拟对象的文档 该对象包含对被模拟对象的引用 我将其表示为 wrapped method foo below from mock import patc
  • RSpec 与 Shoulda?

    我是单元测试场景的新手 我现在只使用单元测试大约两个月了 当我在 Ruby 中进行单元测试时 我目前遵循 TDD 风格并使用 Test Unit TestCase 我还阅读了 RSpec 以及它如何遵循 BDD 方法 我还读过关于 Shou
  • 与解构一起使用的Sinon存根函数

    我希望对我当前正在测试的文件中使用的函数进行存根 解构时需要此函数 如下所示 const theFunctionIWant require path to module 测试时 永远不会调用存根 而是继续调用实际函数 但是当我 正常 需要它
  • Windows 程序如何临时更改其时区?

    我写了一个函数来返回time t与给定日期的午夜相对应的值 当给定日期没有午夜时 它返回最早可用的时间 例如 当埃及进入夏令时时 这种情况就可能发生 今年 时间更改于 4 月 29 日晚上午夜生效 因此时钟直接从 23 59 转到 01 0
  • 从命令行运行本机 VS2012/C++ 64 位单元测试

    我正在尝试从命令行运行单元测试 我尝试使用以下命令使用 mstest exe 程序 E VS Projects gt C Program Files x86 Microsoft Visual Studio 11 0 Common7 IDE
  • 无法在单元测试中检查响应标头

    我有一个 Http 处理程序的单元测试 在其中我创建了一个HttpResponse对象并将其传递给我的 Http 处理程序的方法之一 我的一项测试尝试验证响应标头是否已正确设置 Assert AreEqual gzip response H
  • 如何使用 Entity Framework 和 Moq 进行单元测试?

    我是 Moq 新手 希望将其用作数据后备存储 但不接触实时数据库 我的设置如下 UnitOfWork 包含所有存储库 并用于整个应用程序中的数据访问 Repository 代表 DbSet 的直接挂钩 由 DbContext 提供 DbCo
  • Python3模拟用另一个函数替换函数

    如何使用 python 中的另一个函数来模拟一个函数 该函数也将提供一个模拟对象 我有类似以下操作的代码 def foo arg1 arg2 r bar arg1 does interesting things 我想替换的实现bar函数 让
  • 关于如何在 PHPUnit 中使用 setUp() 和tearDown() 有真实的例子吗?

    Methods setUp and tearDown 在每次测试之前和之后调用 但实际上 有没有任何真实的例子说明我为什么需要这个 检查其他人的测试 我总是看到类似的东西 public function setUp this gt test
  • 我尝试使用 googlemock 模拟简单的 C++ 方法有什么问题?

    As per 用于对进行标准库调用的 C 方法进行单元测试的模式 https stackoverflow com questions 5779618 patterns for unit testing a c method that mak
  • 为什么调用fail()会使用JUnit在Java类中进行编译

    这似乎不应该编译和运行Object没有fail 方法 在编译时发生了一些奇怪的事情吗 我正在使用 NetBeans import static org junit Assert import org junit Test public cl
  • 如何在 Netbeans 9 中打开 Grails 3.3 应用程序?

    我无法找到在 Mac 上的 netbeans 9 中打开 grails 3 3 8 项目的方法 我找到了几篇文章 见下文 但没有一个起作用 This one https grails org wiki version NetBeans 20
  • 为什么要使用依赖注入?

    我试图理解依赖注入 http en wikipedia org wiki Dependency injection DI 我再一次失败了 这看起来很愚蠢 我的代码从来不会乱七八糟 我几乎不编写虚拟函数和接口 尽管我千载难逢 并且我的所有配置
  • 我们什么时候需要在 Angular2 的服务中使用 @Injectable ?

    All 我对 Angular2 还很陌生 当我到达依赖注入部分时 Injectable 符号让我有点困惑 只是想确保我对 Injectable 的理解是正确的 Injectable 表示它后面的类可以作为服务注入 Injectable 表示
  • Powermockito 可以在非最终具体类中模拟最终方法吗?

    假设我有一个非最终具体类 具有如下所示的最终方法 public class ABC public final String myMethod return test test 可以嘲笑吗myMethod 调用时返回其他内容junit usi
  • 如何从 Grails 中的 UrlMapping 中排除特定关键字?

    我在 Grails 中使用以下 url 映射 id controller user action show 映射网址 例如mydomain com someusername 如何将约束附加到 url 映射以排除 登录 注销 等关键字 IE

随机推荐