问题标签 [typemock]

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 投票
1 回答
1244 浏览

ncover - NCover、TypeMock 和 MSTest

有没有人让 NCover、TypeMock 和 MSTest 一起工作?如果是这样的话。

我现在已经对此进行了 2 或 3 次认真的尝试,但无法让它发挥作用。

我正在使用 MSTest 9、NCover 2.1 和 TypeMock 4.1。

理想情况下,我想从 MSBuild 任务中运行它们。

干杯垫

0 投票
5 回答
5891 浏览

mocking - Moq 和 Rhino.mocks 的功能是什么?

我找不到 Moq 和 Rhino 的具体功能比较。所有的问题都是“你更喜欢哪个以及为什么”,或者“这是你如何在 rhino 中做一个简单的模拟以及它是如何在 moq 中完成的”。

我在任何地方都找不到深入的比较。我知道语法差异,我不是在寻找答案。 我正在寻找能力比较。例如:

  • Rhino 有 Expect.On() 用于线程模拟。起订量可以吗?

  • 多模拟(用一个模拟实现多个接口)怎么样。起订量可以吗?

  • 我相信 Moq 现在可以模拟受保护的成员。犀牛能做到吗?

编辑:我最后也看了一些其他的 .Net 框架。

0 投票
1 回答
499 浏览

c# - 为什么 ExpectConstructor() 不会导致此测试失败?

我对TypeMock 3.5 中类的ExpectConstructor()方法的目的有点困惑。Mock

如果没有调用构造函数,即如果没有实例化模拟类型的实例,我会认为调用ExpectConstructor会导致MockManager失败。Verify()

但是,ExpectConstructor()在没有为该构造函数指定任何参数的情况下调用似乎不会设置该期望 - 因此我的测试无论如何都通过了。

我的问题:我是否遗漏或误解了什么?如果ExpectConstructor()不是为了验证构造函数调用,它是为了什么?

考虑这三个说明问题的 NUnit 测试:

在此先感谢您的帮助。

0 投票
4 回答
1078 浏览

unit-testing - 单元测试:TypeMocking 单例

我正在使用 TypeMock Isoler 为一些单元测试模拟一些对象 - 尝试使用 AAA api(因此 Isolate 调用)。

我有一个简单的单例类,您可以在其中调用静态 GetInstance(),然后返回该类的一个实例。我认为这将是一个简单的模拟问题,但我遇到了一个非常令人沮丧的问题!我似乎无法让 GetInstance() 使用我预期的调用集正确返回我的模拟对象。

我试过了:

  • 使用 MST 项目(使用 Accessor 类)将模拟对象直接分配给实例变量(使用 Memers.MustSpecifyReturnValues 伪造对象,并使用 WithExactArguments 设置期望值 Isolate.WhenCalled),但由于某种原因,模拟对象总是返回 null(并且没有例外)。
  • 模拟 Singleton.GetInstance() 以返回模拟对象。这将返回一个需要设置 WhenCalled 的模拟对象,但现在我进行的 Isolate.WhenCalled 调用似乎对假对象没有执行任何操作 - 所以所有调用都会引发意外调用异常。
  • 我还尝试模拟实际的方法调用(例如 Singleton.GetInstance().Test()),这将适用于对该方法的调用,但是对单例上其他方法的所有其他调用都返回 null 而不是抛出异常正如我想要的那样(因为这似乎会自动模拟所有没有 Members.MustSpecifyReturnValues 的对象)。

我想要的只是模拟一个单例,并且我没有明确告诉它期望抛出异常的任何调用。我以为这很简单,但显然不是!伤心

有谁知道我做错了什么?

谢谢詹姆斯

0 投票
4 回答
374 浏览

c# - 绕过处置进行测试

我正在尝试测试一种方法。我想确保该方法(调用服务)中有一个方法调用,代码如下所示:

我将代理与假对象交换(使用 TypeMock),但由于在块末尾放置的假对象而出错。我不想删除那个“使用”块。谢谢

0 投票
1 回答
507 浏览

tdd - 模拟非虚拟事件(在 COM 互操作类中)

编辑:语言/平台是 C# / .Net

我目前正试图填补我当前项目中的一个巨大的单元测试空白,并且诚然是 TDD 的新手,我发现自己对于如何去测试一些更关键的业务特性感到很困惑。

我选择了 Moq 并有足够的时间做简单的模拟,但是在我的应用程序的核心是一个相当大的、可怕的 COM 互操作层,我很难概念化如何适当地进行单元测试。COM 组件完全是第 3 方,因此无法修改,它实现了相当于处理电话呼叫的有限状态机。该组件通过一组非虚拟事件通知我的应用程序,我想以某些顺序对其进行测试以模拟状态更改,但是 Moq 不提供除虚拟事件之外的任何方法来执行此操作。

所以我对知识渊博的 TDDers/Mockists 的问题是:你将如何测试这种东西?

显然 TypeMock 支持这一点(以换取它自己的缺点),但我宁愿不使用它,原因是关于类型安全的各种原因以及我普遍认为它在我背后做一些狡猾的事情。

0 投票
1 回答
553 浏览

c# - 使用 typemock 进行链接

我只是从嘲笑开始,我正在尝试一些我认为应该很简单的东西。

我有一个类可以读取 Google 日历数据。首先,它创建一个CalendarService对象,然后调用Query该对象,接收 aEventFeed并迭代 的 Item 集合AtomEntryCollection。我希望这一切都被嘲笑,因为我不希望我的测试发送任何网络请求。我试着用

但是一旦service.Query()使用从该方法返回的对象,我的测试就会失败。我知道在第 5 行entries.MockedInstance中仍然为 null,因此将ExpectAndReturnnull 记录为返回值 - 那我该怎么办?如何设置模拟以返回有效的模拟对象,而不是空值?

注意 - 我正在编写一个 .NET 2.0 项目,所以我不能使用 Isolator 功能(我认为)。那会帮助我吗?或者也许切换到 Rhino 或 MOQ 会更容易?

0 投票
1 回答
477 浏览

linq - 如何将 TypeMock 隔离器与 Linq to SQL 和 DataContext 一起使用

我正在使用 TypeMock Isolator 来伪造我的 DataContext 上的表,如下所示:

我现在可以在每个测试中用任意数据填充“数据库”。为了将测试场景的有意义的数据放入 DataContext 我通常必须创建 3-5 个对象。

现在,问题是我的业务逻辑使用 Linq 生成的关系属性来获取客户订单。我现在不仅要新建对象,还要连接它们。有人知道这个问题的某种解决方案吗?我花了 20 行来设置对象图,然后测试 5 行。这有点奇怪。

0 投票
1 回答
960 浏览

mocking - 获取调用的 Typemock 模拟方法的参数

我是 RhinoMocks 的忠实用户,从 TDD 和 AAA 的角度使用 NUnit 和 ReSharper 进行开发。我正在换工作,我要搬到的团队使用 TypeMock,所以我想开始工作......我遇到了一个问题。如何获取模拟对象上被调用方法的参数。使用 RhinoMocks 时,我使用:

它返回一个 IList 类型的对象数组。伟大的!我去得到我想要的东西并按照我的意愿处理它。现在使用 TypeMock 的 AAA 语法,我似乎无法找到一种方法来做到这一点......有人可以对此有所了解吗?我应该采取不同的做法吗?

感谢您的阅读,期待您的回复!

亚当

0 投票
2 回答
4416 浏览

c# - 在 C# 中模拟非虚方法

我正在尝试测试我使用模拟制作的一些类,但我已经看到 c# 中的所有免费模拟框架都无法模拟非虚拟方法(如果它不在接口中)。

但是,有 TypeMock 可以做到这一点,所以这是可能的。任何人都可以展示如何做到这一点?如果我能完成这项工作,我什至可能会尝试为开源框架做出贡献。

提前致谢