问题标签 [mspec]

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 回答
2640 浏览

.net - 如何将 MSpec 与 MS Build 集成?

几天前,我观看了Rob Conery的BDD 截屏视频。在视频中,他展示了如何使用MSpec,所以我下载了它并使用了这些位。我现在想要将MSpec与 MS Build 集成,但我不知道如何......我使用 TFS 团队构建作为我的 CI 服务器 - 你能帮我将MSpec与 MSBuild 集成吗?

谢谢!

0 投票
1 回答
11363 浏览

c# - 我是否正确编写了我的第一个 MSpec 规范?

我正在编写我的第一个 MSpec 规范,我想要一些指导。我将规范留在“待定”状态,但上下文已填写。有什么需要改进的地方吗?

作为参考,这是故事和第一个场景:

和 MSpec 代码(一些部分被剪断),请注意,It由于与以下冲突,我不得不为 MSpec 委托起别名Moq.It

0 投票
1 回答
1941 浏览

visual-studio-2008 - 从单元测试生成经理报告 (Visual Studio)

是否可以从 Visual Studio 2008 的集成单元测试生成报告?比如说,您将其交给客户经理以包含在客户的发票中。一个看起来比这个好 10% 的?

替代文字
(来源:skimedic.com

我问是因为Rob Conery 制作了一个关于使用 BDD开发应用程序的精彩视频。在其中,他使用了一个名为 Machine Specifications(或 MSpec)的第 3 方框架。我已经让 MSpec 工作得很好。但是,在大约 6 个月左右的生命周期完成之前,我不想将 MSpec 介绍给产品团队。

所以,在那之前我们都在使用 Visual Studio 的单元测试。但是,我真的很喜欢 Machine.Specification 生成那些非常干净的 HTML 报告的方式。

有没有办法从内置的 Visual Studio 2008 单元测试中生成此类报告?我们的老板很乐意交出我们的测试报告(100 多,1000 多)。

先感谢您!

0 投票
3 回答
1823 浏览

resharper - ReSharper 没有看到我的 Machine.Specification 测试

我无法让 ReSharper 查看我编写的 Machine.Specification “测试”。

规范在 mSpec 的 ConsoleRunner 中运行。当我尝试在 ReSharper 中“运行单元测试”时,我收到一条消息:“未在文件中找到测试。” 规格不显示测试标记。

我在 ReSharper /bin/ 文件夹中创建了一个文件夹,并将正确的 .dll 放在那里。mSpec 插件出现在 ReSharper 中。

我可能会错过什么?

此外,如果这有所作为,我正在使用 xUnit.NET。

0 投票
2 回答
504 浏览

teamcity - TeamCity 和 MSpec 与 sln2008 亚军?

我目前正在使用 sln2008 跑步者。有没有办法配置 TeamCity 以执行 MSpec 测试而不切换到 NAnt 或 MSBuild 运行器?

0 投票
2 回答
1112 浏览

resharper - 如何安装 MSpec BDD 框架?

有谁知道是否有支持 R# 和/或 TestDriven.NET 的 MSpec 安装程序?

0 投票
1 回答
392 浏览

asp.net-mvc - Machine.Specifications 和实体框架示例

我试图找到一些在 MVC 项目中使用 Machine.Specifications 和 ASP.Net 实体框架的最佳实践示例(或任何示例)。

由于没有太多使用 Machine.Specifications 的经验,我很想看看其他人认为哪些测试有用,以及使用 EF 生成的对象而不是定制的对象是否有任何问题。

非常感谢指针、建议和示例。

0 投票
1 回答
776 浏览

unit-testing - 如何使用 MSpec 使用 GWT 进行 BDD?写这个场景的正确方法

我刚刚开始使用 GWT 方法来练习 BDD,然后才意识到我无法进行第二次测试。

我的 GWT 类似于

然后它应该通知用户并且如果它是空白的则不保存回复

所以我把它编码成这样

但后来我意识到我不能做第二种情况,因为第一种情况要求数据中有一些东西,而第二种情况说数据应该是一个空字符串。

这是否意味着我应该将我的 GWT 拆分为类似

如果是这种情况,那么我将编写大量的空案例场景以供返回

这是我应该如何编写 BDD 规范的方式吗?我什至在正确的论坛 O_O 中吗?

0 投票
2 回答
1684 浏览

asp.net-mvc - 使用 MSpec 进行 ASP.NET MVC 测试。这是正确的还是需要重构?

我是 MSpec 的新手,想知道我为 ASP.NET MVC 编写测试的方式是否正确。测试通过了,但我不太喜欢它的编写方式,而且看起来很尴尬。我当然错过了一些东西。

提前致谢,

托马斯

0 投票
1 回答
625 浏览

.net - 如何使用 MSpec 为更改 Thread.CurrentPrincipal 的代码编写规范?

我一直在将一些旧规范转换为 MSpec(使用 NUnit/SpecUnit)。规范是针对视图模型的,并且有问题的视图模型会进行一些自定义安全检查。我们的规范中有一个辅助方法,它将为 Thread.CurrentPrincipal 设置虚假的安全凭证。这在旧的单元测试中运行良好,但在 MSpec 中失败。具体来说,我得到了这个例外:

“System.Runtime.Serialization.SerializationException:没有为成员解析类型”

当 SUT 的一部分尝试读取应用程序配置文件时会发生这种情况。如果我注释掉设置 CurrentPrincipal 的行(或者只是在检查配置文件的部分之后调用它),错误就会消失,但由于缺少凭据,测试会失败。

同样,如果我将 CurrentPrincipal 设置为 null,错误就会消失,但测试再次失败,因为未设置凭据。我用谷歌搜索了这个,发现了一些关于确保自定义主体在跨越 AppDomain 边界时可序列化的帖子(通常参考网络应用程序)。在我们的例子中,这不是一个网络应用程序,我没有跨越任何 AppDomains。我们的 pincipal 对象也是可序列化的。

我下载了MSpec的源码,发现ConsoleRunner调用了一个名为AppDomainRunner的类。我还没有调试它,但它看起来像是在不同的应用程序域中运行规范。

那么有人对我如何克服这个有任何想法吗?我真的很喜欢 MSpec,并且很想专门使用它。但是我需要能够在运行测试时提供虚假的安全凭证。

这是规范类:

我们有许多这样的“选择器”视图模型,它们都表现出一些共同的行为。所以我正在使用 MSpec 的行为特性。这个特定的类正在模拟用户从绑定到此 VM 的 (WPF) 控件中选择某些内容。SetupFakeSecurityCredentials() 方法只是将 Thread.CurrentPrincipal 设置为我们自定义主体的实例,其中已填充主体将完全访问权限。

这是一个足以导致错误的假 CountryPickerViewModel:

是 ValidationFactory 调用失败了。ValidationFactory 是一个企业库对象,它尝试访问配置。