问题标签 [visualstudio.testtools]

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 投票
0 回答
39 浏览

unit-testing - ASP.Net 寻找指导如何对 MVC 操作的代码进行单元测试

很抱歉在这里发布这个问题,但我突然遇到了问题,因为我需要编写单元测试代码以在我不擅长的地方采取行动。

我对asp.net mvc有点熟悉。在我从不为动作编写单元测试代码之前,我手动测试动作。现在我想知道为我的操作编写单元测试代码的艺术。所以我阅读了几篇关于单元测试的文章,但注意到所有文章都分享了关于在 mvc 控制器中为动作方法编写单元测试代码的非常基本的想法,但我无法为我的动作编写单元测试代码。所以我在这里粘贴我的一个示例控制器及其操作。所以请任何人分享如何为下面的操作方法编写单元测试代码的知识。如果可能的话,与代码示例或好的提示进行讨论,以便在 VS2013 和 MVC 版本 5 中编写单元测试代码。

这是我的代码

谢谢

0 投票
2 回答
2822 浏览

c# - Visual Studio 单元测试:在每次测试之前运行初始化代码

我正在使用 Visual Studio 的测试工具进行单元测试。我需要在每次测试之前运行一些初始化代码。

我有一个Setup用于初始化代码的类。我已经在每次测试运行之前添加了要运行的代码,使用[AssemblyInitialize],但我不知道如何在单个测试的基础上做同样的事情。

我尝试使用该[TestInitialize]属性,但这仅适用于与[TestInitialize]方法相同的文件中的测试。我希望初始化代码为程序集中的所有测试自动运行,而不必在每个测试文件中显式调用它。

0 投票
0 回答
70 浏览

c# - 为什么 CollectionAssert 不提供任何失败细节?

当我在 C# 单元测试中编写以下代码时:

单元测试失败并显示以下详细信息:

现在我想知道为什么异常消息如此无用。写起来很容易:

当然,这一定是对CollectionAssert那些不得不使用该类的开发人员或他们的同事造成了困扰。不提供详细信息的原因可能是什么,尤其是在单元测试期间?

0 投票
1 回答
4941 浏览

c# - Assert.ThrowsException 测试在抛出异常时失败

Microsoft.VisualStudio.TestTools.UnitTesting用于单元测试。

我有这个测试,它断言抛出了一个异常并且它失败了

当我调试它时,在它出错并失败之前运行的最后一行代码是:

在此处输入图像描述

异常ex是一个system.invalidOperationException,但这无关紧要,因为无论如何它都会抛出 HttpException 。为什么测试失败,原因如下:

测试名称:ShouldThrowHttpExceptionIfPassedObjectIsNull 测试全名:xxx.xxx.xxx.xxx.ShouldThrowHttpExceptionIfPassedObjectIsNull 测试源:C:\Users\xxx\xxx.cs:第 88 行测试结果:失败测试持续时间:0:04:35.5251661

结果 StackTrace: at xxxxxx.d__10.MoveNext() in C:\Users\xxx\xxx\xxx.cs:line 101 --- 在 System.Runtime.CompilerServices 处从先前引发异常的位置结束堆栈跟踪.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 结果消息:Assert.ThrowsException 失败。没有抛出异常。预期会出现 HttpException 异常。

编辑 代码然后在图像之后移动到这个代码块中:

当它抛出上面的 HttpException 时,它会抛出一个 DllNotFoundException。

抛出异常:System.Private.CoreLib.ni.dll 中的“System.DllNotFoundException”

附加信息:无法加载 DLL 'combase.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)

0 投票
2 回答
433 浏览

visual-studio - visualstudio2017 中缺少 UnitTestFramework

我从 2015 年到 2017 年更新了 VisualStudio。当我尝试启动 UWP 单元测试时,它似乎Microsoft.VisualStudio.TestPlatform.UnitTestFramework不存在(它给了我一个错误)。我尝试了Microsoft.VisualStudio.TestTools.UnitTesting项目构建和运行,但它不执行我的测试。我该如何解决?

谢谢

0 投票
1 回答
74 浏览

c# - Visual Build Pro 9 无法构建使用 PrivateObject 的单元测试

我最近从 Visual Build Pro 8 切换到 Visual Build Pro 9,并且在构建某些测试项目时遇到了问题。这似乎与必须使用 PrivateObject 类来测试私有方法的各种单元测试有关,这是我无法更改的。

有问题的项目引发以下(示例)错误:

它指的是以下代码:

我尝试将 Microsoft UnitTesting dll 添加为 DeploymentItem(像这样),但这也无济于事。

如果我通过 Visual Build Pro 8 运行该项目,它仍然可以正确构建,但我不明白如何。有没有人有任何想法?

0 投票
1 回答
609 浏览

c# - 如何以 .ltrar 格式导出 Visual Studio 负载测试结果?

我有我的性能测试执行的端到端自动化。但是维护有点棘手?我想以 .ltrar 格式导出结果。有谁知道是否有任何自动化方法可以做到这一点?

0 投票
1 回答
1234 浏览

c# - 尝试运行按类分组的测试用例时,ClassInitialize 不执行

我有几个TestClasses,每个TestMethods 都很少。再次,我需要为每个TestMethods 创建数据,所有这些都是SuiteBase 文件中的句柄,每个TestClasses 都继承该文件。我需要为每个 TestClass 创建一次数据,以便该类中的所有 TestMethods 都可以使用相同的数据。为此,我将数据创建代码放在 SuiteBase 文件的 ClassInitialize 下。SuiteBase 的结构:

测试类结构:

现在我正在尝试从我的测试资源管理器中运行单元测试(按类分组)。 在此处输入图像描述

理论上,在任何 TestMethods 开始之前,SuiteBase 中的 ClassInitialize 代码应该首先工作。但我看到 ClassInitialize 代码不只是运行。我在ClassInitialize中放了一个断点并调试,代码根本没有执行。我对 ClassInitialize 的行为的假设是错误的,还是我在这里做一些根本错误的事情?

0 投票
1 回答
82 浏览

xamarin - IValueProvider 的实现导致 UITestControlNotAvailableException

我正在为 WindowsStore 应用程序的 UI 自动化苦苦挣扎。我一实现 IValueProvider 就会得到一个 UITestControlNotAvailableException。如果我删除它的实现它的工作原理。

  • Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotAvailableException(控件不可用或无效。)
  • InnerException:指向对 testControl.Name 的调用 (Microsoft.VisualStudio.TestTools.UITesting.UITestControl.get_Name())
  • InnerException:事件无法调用任何订阅者(来自 HRESULT 的异常:0x80040201)

StackTrace 看起来像这样:

在应用程序端,我使用此代码来获取有关控件的信息:

在 UI 自动化客户端,我使用此代码来获取有关控件的信息:

0 投票
1 回答
130 浏览

xamarin - AutomationPeer.GetChildrenCore () 只向 VisualStudio.TestTools 报告第一个孩子

我无法正确覆盖 GetChildrenCore。我将其用于 Canvas 以获取有关其子项(线、矩形)的信息。

输出正确地指示了第一个孩子,但错过了第二个孩子。即使 Canvas 已经包含两者。

相反,它应该是这样的:

应用端:

UI测试方面: