gpt4 book ai didi

c# - 无法在 Visual Studio 2012 中运行 Windows 应用商店应用程序的单元测试

转载 作者:行者123 更新时间:2023-11-30 18:32:02 25 4
gpt4 key购买 nike

我似乎无法使用 Visual Studio 2012 为 Windows 商店应用程序运行单元测试。

为了配置我的应用程序,我已经完成了以下步骤。

  1. 我创建了一个 Windows 应用商店项目。我构建它并让它运行得很好。
  2. 然后我右键单击该解决方案并单击“添加”>“新建项目”。从“添加新项目菜单”中,我选择项目模板“单元测试库(Windows 应用商店应用程序)”,然后单击确定创建项目。
  3. 我创建了一个如下所示的基本单元测试。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;

namespace UnitTestLibrary1
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
string a = "a";
string b = "b";

Assert.AreEqual(a, b);
}
}
}

**根据 instructions found on the MSDN website here I have not built the Unit Test project yet 注意

4 - 我打开显示以下内容的 Visual Studio 测试探索。

enter image description here

5 - 我继续构建整个解决方案(下面是构建输出)

1>------ Build started: Project: vevo.pushclient, Configuration: Debug Any CPU ------
2>------ Build started: Project: UnitTestLibrary1, Configuration: Debug Any CPU ------
2> UnitTestLibrary1 -> C:\Source\simple_push_client\vevo.pushclient\UnitTestLibrary1\bin\Debug\UnitTestLibrary1.dll
1> vevo.pushclient -> C:\Source\simple_push_client\vevo.pushclient\vevo.pushclient\bin\Debug\vevo.pushclient.exe
========== Build: 2 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

以下是测试的输出,我尝试用谷歌搜索错误但找不到任何有用的答案

------ Discover test started ------
MSTestAdapter failed to discover tests in class 'UnitTestLibrary1.UnitTest1' of assembly 'C:\Source\simple_push_client\vevo.pushclient\UnitTestLibrary1\bin\Debug\UnitTestLibrary1.dll'. Reason Method not found: 'System.String Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestCategoryBaseAttribute.get_TestCategory()'..
NUnit 0.97.0.0 discovering tests is started
NUnit 0.97.0.0 discovering test is finished
========== Discover test finished: 0 found (0:00:00.1800223) ==========

测试资源管理器仍然显示与构建之前相同的消息,即“构建您的解决方案以发现所有可用测试....

即便如此,我还是尝试点击运行所有。

这导致构建的以下输出

========== Build: 0 succeeded, 0 failed, 2 up-to-date, 0 skipped ==========

测试没有输出

不用说,在测试资源管理器中没有显示任何测试已运行、通过、跳过或失败。

我确保将 UnitTest 项目的配置属性设置为构建和部署,并尝试使用每个平台配置(任何 CPU、x86 和 x4)进行构建

enter image description here

最佳答案

它告诉您您的测试方法中缺少一个属性...

MSTestAdapter 未能在程序集“C:\Source\simple_push_client\vevo.pushclient\UnitTestLibrary1\bin\Debug\UnitTestLibrary1.dll”的类“UnitTestLibrary1.UnitTest1”中发现测试。找不到原因方法:'System.String Microsoft.VisualStudio.TestPlatform.UnitTestFramework.TestCategoryBaseAttribute.get_TestCategory()'..

不知道为什么,它不应该是必需的。但是添加属性:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;

namespace UnitTestLibrary1
{
[TestClass]
public class UnitTest1
{
[TestMethod]
[TestCategory("tests")] <! -- Added Attribute -->
public void TestMethod1()
{
string a = "a";
string b = "b";

Assert.AreEqual(a, b);
}
}
}

类别可以是任何你想要的。不确定为什么这样做,Category 应该是一个可选参数。

关于c# - 无法在 Visual Studio 2012 中运行 Windows 应用商店应用程序的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19038898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com