问题标签 [testdriven.net]

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 投票
2 回答
684 浏览

unit-testing - ASP.NET MVC 3 的测试驱动开发 - 解析 XML 源文件

您好,想与社区联系,以获取有关我正在执行的工作的测试驱动开发方法的见解和建议。

我正在开发一个解析物理 XML 文件(包含图表和表格数据)的 ASP.NET MVC3 项目。首先,应用程序生成 xml 节点的模型表示。控制器用于执行应用程序逻辑,
最终呈现到带有图表和表格的特定 HTML 视图。

我在想我将构建一个模型来表示具有适当接口的 xml 即类,如数据集、标题、维度等。这是正确的方法吗。(请参阅下面的示例 xml)

我会写什么样的单元测试?我会从访问物理 XML 文件的单元测试开始(可能不会)吗?我应该将 xml 字符串的片段流式传输到 Xdocument 中吗?(这不是 teting .net 代码吗?)假设我不想创建具体的 XDocument 类,我该如何模拟对象,例如

我想做的第一个测试(我认为)是加载 xml 并测试 end_Date 是否正确

我有一个 XMLHelper 类,它加载 xml 并返回带有属性结束日期的标头的类表示。

所以我的具体代码看起来大致像

假设以下 XML 用于流或文件加载。

XML 源

0 投票
1 回答
6045 浏览

c# - 测试后如何删除 vshost.exe?

在 VS2010 中,我使用 TestDriven.net 来执行单元测试。似乎每次我运行测试时,都会将另一个 myappname.vshost.exe 加载到内存中。累积超过 20 个这样的过程并不少见。我能做些什么来防止这种情况发生吗?

或者,有没有一种快速的方法可以杀死所有这些进程?

0 投票
1 回答
130 浏览

testdriven.net - 筛选由 TestDriven.NET 运行程序执行的测试项目

在解决方案资源管理器中使用 TestDriven.NET 运行器时,是否可以过滤执行哪些测试项目?我想在不运行集成测试的情况下运行单元测试,因为后者需要更长的时间才能运行。

0 投票
1 回答
2190 浏览

c# - NUnit 测试因 System.IO.FileNotFoundExeption 而失败

我的 Windows Phone 7 项目中的一项 NUnit 测试一直失败,并出现以下错误:

该问题是由我编写的扩展方法引起的,该方法使用 JSON.NET 将 POCO 序列化为 JSON。JSON.NET 似乎依赖于 System.Runtime.Serialization。

我尝试将 JSON.NET 和 System.Runtime.Serialization 引用都添加到我的测试项目中,但这并没有解决问题。

我正在测试的程序集使用 RestSharp,它又依赖于 JSON.NET。我尝试将 System.Runtime.Serialization 的引用也直接添加到正在测试的程序集中,但这也失败了。

有什么建议么?

更新:我正在尝试按照以下评论中的建议追踪该文件,但 Filemon 已退役。它的替代品 Process Explorer 没有帮助,因为它似乎只显示 devenv.exe 进程当前打开的文件。搜索对有问题文件的引用只会产生两个不相关的引用。有没有办法查看我的测试运行记录,以便我知道它在哪里寻找 .dll?

更新2:感谢您的建议。我通过使用 Nuget 将 RestSharp 和 JSON.NET 引用直接添加到单元测试项目中解决了 IO 问题。现在我收到以下错误:

在这个网页上搜索主要返回对 TFS 开发的引用。伟大的。

0 投票
1 回答
759 浏览

c# - ASP.NET 集成测试 - TestDrive.net 不会运行它们,其他测试运行者会

在我将解决方案升级到 .NET 4.0 后,我最近遇到了集成测试问题——该问题的答案是获取 System.Data.SQLite.dll 的 64 位版本。

我已经想通了,但我有一个相关的问题。我的集成测试在我使用 Resharper 测试运行程序时执行,但在我使用 TestDriven.NET 测试运行程序时抛出异常:

图片: 例外,D'oh!

我还尝试了此链接中的解决方案;它没有帮助。如何从 Testdriven.Net 运行我的测试?

更新:

我的项目设置为任何 CPU,发布平台。

我的操作系统是 Windows 7 64 位。我已经链接了 x86 和 x64 版本的 SQLite。解释:

我的解决方案有几个项目——DataAccess、IntegrationTests、Core 和 UI。所有都是 .net 4.0 项目,并且都是类库,除了 UI,它是一个 MVC 3.0 项目。我正在使用 nUnit 2.4.8.0。我的 DataAccess 层使用 NHibernate。

  • 我的 UI 项目引用 1.0.60.0(否则我无法从 VS2010 中运行我的应用程序)。
  • 我的 IntegrationTests 项目引用 1.0.74.0(否则我无法使用 Resharper 的 TestRunner 运行我的测试)。
  • 我的 DataAccess 项目引用 1.0.60.0,并且
  • 我的核心项目不知道任何与数据库相关的知识。

1.0.60.0 是 x86,1.0.74.0 是 x64。

部署站点时,服务器需要 x86。

更新 2:

TestDriven.NET 有一个选项,因为它在工具 -> 选项 -> TestDriven.NET 下使用 32 位或 64 位进程。我将其更改为 64 位。现在,右键单击并选择“运行测试”将很好地执行它们,但我仍然遇到与“使用 NCover 测试”或“使用覆盖率测试”相同的问题,这是我真正想要完成的。

0 投票
2 回答
1870 浏览

c# - 如何让 TestDriven.net 使用 NCover 生成有用的代码覆盖率 XML 文件?

复制步骤:

  1. 在 Windows 7 Ultimate 32 位版本的 VS 2010 Professional 中创建 C# 项目。
  2. 使用 VS C# 单元测试向导编写一些单元测试
  3. 下载并安装 TestDriven.Net 的最新 RTM 或 Beta 版本。
  4. 右键单击测试项目并选择使用 NCover 进行测试
  5. 等待
  6. 看到 NCover 的窗口是空的

如何让 TestDriven.net 使用 NCover 生成有用的代码覆盖率 XML 文件?

到目前为止,我已经尝试重新启动、卸载 RTM 版本并安装 Beta 版本,并在 Debug & Release 模式下运行。

使用输出窗口文本更新:

0 投票
0 回答
101 浏览

visual-studio-2010 - 连接到数据库时,Testdriven.net 失败

这是我的项目结构。我有一个 DataAccess 项目,其中包含由 EF4 生成的 edmx 文件和相关类。这个项目由我的 DataAccessLibrary.dll 文件调用。DataAccessLibrary.dll 中的公共方法由我的 Nunit 测试项目的测试方法调用。

当我使用 VS2010 将我的项目附加到 Nunit [ver. 2.5.10]过程,我能够运行我的测试并让方法连接到数据库和所有。但是当我右键单击项目文件并使用 Testdriven.Net 来“运行测试”时,当我尝试连接到数据库时出现错误。DataAccess 项目和 DataAccessLibrary.dll 以及 nunit 测试项目都有包含连接字符串的配置文件。但我仍然收到此错误。“在配置中找不到指定的命名连接,不打算与 EntityClient 提供程序一起使用,或者无效。”

我需要为此做些什么?

0 投票
1 回答
207 浏览

asp.net-mvc-3 - 无法访问 ASP.Net MVC 3 测试项目中的文本文件

我正在尝试访问 asp.net mvc3 测试项目中的文本文件,我知道访问它的常用方法是通过像这样的 HttpContext 类

HttpContext.Current.Server.MapPath("Temp.txt");

但它返回“当前”为空!

经过一番搜索,我发现 Current 为空的原因很少,在我的情况下,我猜是使用路由器处理程序来路由请求。

但没有办法为我的情况做这件事。

任何人都可以帮助我吗?

0 投票
1 回答
100 浏览

c# - TestDriven.net 出现在 VS 2005 中,而不是 2003 年

Windows XP,TestDriven.NET-3.0.2749 RTM

  1. 在我的开发机器上安装了 TestDriven.net
  2. 在 VS2003企业版插件管理器中不显示
  3. 卸载并重新安装
  4. 在 VS2005 中显示,而不是 2003 加载项管理器
0 投票
1 回答
259 浏览

.net - 在 Visual Studio 2010 中逐步使用 NUnit

我在安装 NUnit 后安装了 TestDriven.Net。在 VS 中,我运行所有测试,它们运行但我希望能够以某种方式进入我的方法,以查看测试在目标方法中出错的地方。这意味着我想在返回 NUnit 给我测试结果之前进入目标方法并查看故障点。

我不知道如何让它工作......到目前为止还没有运气。