问题标签 [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.
unit-testing - ASP.Net 寻找指导如何对 MVC 操作的代码进行单元测试
很抱歉在这里发布这个问题,但我突然遇到了问题,因为我需要编写单元测试代码以在我不擅长的地方采取行动。
我对asp.net mvc有点熟悉。在我从不为动作编写单元测试代码之前,我手动测试动作。现在我想知道为我的操作编写单元测试代码的艺术。所以我阅读了几篇关于单元测试的文章,但注意到所有文章都分享了关于在 mvc 控制器中为动作方法编写单元测试代码的非常基本的想法,但我无法为我的动作编写单元测试代码。所以我在这里粘贴我的一个示例控制器及其操作。所以请任何人分享如何为下面的操作方法编写单元测试代码的知识。如果可能的话,与代码示例或好的提示进行讨论,以便在 VS2013 和 MVC 版本 5 中编写单元测试代码。
这是我的代码
谢谢
c# - Visual Studio 单元测试:在每次测试之前运行初始化代码
我正在使用 Visual Studio 的测试工具进行单元测试。我需要在每次测试之前运行一些初始化代码。
我有一个Setup
用于初始化代码的类。我已经在每次测试运行之前添加了要运行的代码,使用[AssemblyInitialize]
,但我不知道如何在单个测试的基础上做同样的事情。
我尝试使用该[TestInitialize]
属性,但这仅适用于与[TestInitialize]
方法相同的文件中的测试。我希望初始化代码为程序集中的所有测试自动运行,而不必在每个测试文件中显式调用它。
c# - 为什么 CollectionAssert 不提供任何失败细节?
当我在 C# 单元测试中编写以下代码时:
单元测试失败并显示以下详细信息:
现在我想知道为什么异常消息如此无用。写起来很容易:
当然,这一定是对CollectionAssert
那些不得不使用该类的开发人员或他们的同事造成了困扰。不提供详细信息的原因可能是什么,尤其是在单元测试期间?
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)
visual-studio - visualstudio2017 中缺少 UnitTestFramework
我从 2015 年到 2017 年更新了 VisualStudio。当我尝试启动 UWP 单元测试时,它似乎Microsoft.VisualStudio.TestPlatform.UnitTestFramework
不存在(它给了我一个错误)。我尝试了Microsoft.VisualStudio.TestTools.UnitTesting
项目构建和运行,但它不执行我的测试。我该如何解决?
谢谢
c# - Visual Build Pro 9 无法构建使用 PrivateObject 的单元测试
我最近从 Visual Build Pro 8 切换到 Visual Build Pro 9,并且在构建某些测试项目时遇到了问题。这似乎与必须使用 PrivateObject 类来测试私有方法的各种单元测试有关,这是我无法更改的。
有问题的项目引发以下(示例)错误:
它指的是以下代码:
我尝试将 Microsoft UnitTesting dll 添加为 DeploymentItem(像这样),但这也无济于事。
如果我通过 Visual Build Pro 8 运行该项目,它仍然可以正确构建,但我不明白如何。有没有人有任何想法?
c# - 如何以 .ltrar 格式导出 Visual Studio 负载测试结果?
我有我的性能测试执行的端到端自动化。但是维护有点棘手?我想以 .ltrar 格式导出结果。有谁知道是否有任何自动化方法可以做到这一点?
c# - 尝试运行按类分组的测试用例时,ClassInitialize 不执行
我有几个TestClasses,每个TestMethods 都很少。再次,我需要为每个TestMethods 创建数据,所有这些都是SuiteBase 文件中的句柄,每个TestClasses 都继承该文件。我需要为每个 TestClass 创建一次数据,以便该类中的所有 TestMethods 都可以使用相同的数据。为此,我将数据创建代码放在 SuiteBase 文件的 ClassInitialize 下。SuiteBase 的结构:
测试类结构:
现在我正在尝试从我的测试资源管理器中运行单元测试(按类分组)。
理论上,在任何 TestMethods 开始之前,SuiteBase 中的 ClassInitialize 代码应该首先工作。但我看到 ClassInitialize 代码不只是运行。我在ClassInitialize中放了一个断点并调试,代码根本没有执行。我对 ClassInitialize 的行为的假设是错误的,还是我在这里做一些根本错误的事情?
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 自动化客户端,我使用此代码来获取有关控件的信息:
xamarin - AutomationPeer.GetChildrenCore () 只向 VisualStudio.TestTools 报告第一个孩子
我无法正确覆盖 GetChildrenCore。我将其用于 Canvas 以获取有关其子项(线、矩形)的信息。
输出正确地指示了第一个孩子,但错过了第二个孩子。即使 Canvas 已经包含两者。
相反,它应该是这样的:
应用端:
UI测试方面: