问题标签 [nunit-mocks]

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 投票
5 回答
7204 浏览

c# - 有没有人成功地模拟过 .NET 中的 Socket 类?

我正在尝试在 C# 中模拟 System.net.Sockets.Socket 类 - 我尝试使用 NUnit 模拟,但它不能模拟具体类。我也尝试使用 Rhino Mocks,但它似乎使用了该类的真实版本,因为它在调用 Send(byte[]) 时抛出了 SocketException。有没有人使用任何模拟框架成功创建和使用了 Socket 模拟?

0 投票
4 回答
1278 浏览

c# - 有没有办法将 ANYTHING 指定为 NUnit Mocks Expect 调用的参数?

我正在使用 NUnit 模拟,并想指定我期待一个调用,但没有说明参数是什么,例如:

显然填写正确的语法而不是 ANY_ARGUMENT。

有没有办法做到这一点?

如果我不指定任何参数 - NUnit 测试失败,因为它期望 0 个参数但收到 1 个。

0 投票
2 回答
3817 浏览

c# - 如何在 Nunit 中调用 WPF Dispatcher?

我想测试一个使用数据字段值呈现文本块的应用程序。渲染完成后,我想获得实际宽度和实际高度。一切正常。当我尝试测试应用程序时,问题首先出现。我无法从测试项目调用调度程序。

以下是代码。

我刚刚开始使用 NUnit。所以,请帮助我。

谢谢

0 投票
2 回答
12979 浏览

documentation - NUnit.Mocks 文档在哪里?

NUnit 的模拟库 NUnit.Mocks 的文档在哪里?

我在他们的官方文档wiki中找不到任何内容。

0 投票
1 回答
184 浏览

c# - 在单元测试中构建模拟

在测试调用构造函数的代码时,有什么方法可以构造一个模拟而不是真实实例?

例如:

在此示例中,我需要创建一个单元测试,以确认在 ClassToTest 实例上调用 MethodToTest 确实会输出新创建的 MyObject 实例的 ToString() 方法的结果。

我看不到一种单独实际测试“ClassToTest”类的方法;测试这个方法实际上会测试 'myObject.ToString()' 方法以及 MethodToTest 方法。

0 投票
1 回答
1314 浏览

nunit - 带有 Rhino Mocks 异常的 NUnit:为什么会抛出这个异常?

我遇到了一个对我来说真的毫无意义的例外。

我有一个对包含 3 个参数的方法的 Expect 调用:这些类型称为 CallContext、IDal 和 List。

NUnit 向我抛出了 2 个异常:一个是因为不期望在类型为 CallContext、System.Object 和 List 的情况下发生方法调用,另一个是因为期望在类型正确的情况下不会发生调用。有趣的是,调用该方法的唯一方法是使用上面提到的 3 种类型。没有对象类型的方法调用!

这是代码:

被调用的方法是: workbooksLogic.Create(context, dal, new List { workbook }) 这是 NUnit 错误:

我不知道这到底是怎么回事。有人有想法么?

0 投票
2 回答
498 浏览

unit-testing - 使 DynamicMock MockInstance 等于自身

尝试使用 NUnit 测试将对象添加到队列中的方法,如果对象已在队列中则抛出异常,但由于Queue.Contains()无法检测到模拟对象已在队列中而失败。

被测方法非常简单:

测试也是如此:

这失败了——myQueue.Contains(obj)总是返回假,即使其他测试证明它正在被添加到队列中。

如果我在测试中添加以下断言——

- 它失败。

我已经尝试添加mock.ExpectAndReturn("Equals", true, obj),但似乎没有这样做 - 我得到“对 Equals / 预期的调用过多:True / But was: False”。

坦率地说,我不在乎Equals被调用了多少次——我不想写一个那么严格的测试。有没有一种简单的方法可以在这里设置Equals为“正常”行为?

(顺便说一句,我应该使用更高级的 .NET 模拟库吗?我是 .NET 的新手,在 Java 中使用了 Mockito 之类的东西后,NUnit.Mocks 看起来很漂亮 2005。)


ETA:在看到Mockito 作者的好评后,我开始使用Moq;代码不那么混乱并且可以工作,所以这是一个开始。(奇怪的是,仍然失败。)Contains()AreEqual()

0 投票
2 回答
918 浏览

.net - nUnit 是否内置了一个模拟框架,我应该使用它吗?

我记得在 nUnit 中构建了一个模拟框架,但我可以在 nUnit 网站上找到它的详细信息。 我是在做梦吗?

我正在考虑使用它来避免不得不引入另一个我们必须在所有开发人员的机器上管理的程序集的痛苦。

作为一个模拟框架,它有什么很大的缺点吗?

0 投票
1 回答
64 浏览

nunit - 似乎无法弄清楚这个 nunit 测试的第一部分

我很难理解测试的第一部分发生了什么。

为什么这个 ?mockRepository.Setup(x => x.Products).Returns(new[] { product }.AsQueryable());

它实际上告诉存储库中的产品返回一个可查询的新产品?但为什么?

如果有单元测试经验的人可以帮助我,我会很高兴!

谢谢。

0 投票
1 回答
4490 浏览

c# - 使用 NUnit 模拟对象测试事件

我正在使用 NUnit 来测试我的应用程序,我在下面提供了一个简化版本。我正在寻找一种在模拟类上触发事件的方法,并检查被测类是否已收到它。

应用程序在会话上调用 LogIn,一段时间后,会话触发 OnLoggedIn 事件。我已经设置了一个模拟会话,并检查了应用程序是否在其上调用了 LogIn。现在我想在它上面触发 OnLoggedIn 事件,并检查应用程序是否处理了这个事件。

我怎样才能做到这一点?