标签: mstest

如何使用 mstest 将输出文件添加到结果窗口?

我的测试有一个文件作为输出。我希望在测试的输出窗口中看到该文件(即,如果我右键单击已完成的测试并选择:查看测试结果详细信息)。

c# mstest

3
推荐指数
1
解决办法
1616
查看次数

构造函数的单元测试

我正在实验室进行单元测试,下面是我正在测试的应用程序中的一段代码。大多数单元测试都已完成,但关于下面的构造函数,我只是不知道如何测试它。例如,构造函数到底对数组元素做了什么?测试构造函数的好方法是什么?

是否有一个善良的灵魂可以给我一个正确的方向踢?

  public struct Point { 
    public int x, y;

    public Point(int a, int b) {
      x = a;
      y = b;
    }
  }
Run Code Online (Sandbox Code Playgroud)

...

  public Triangle(Point[] s) {
    sides = new double[s.Length];
    sides[0] = Math.Sqrt(Math.Pow((double)(s[1].x - s[0].x), 2.0) + Math.Pow((double)(s[1].y - s[0].y), 2.0));
    sides[1] = Math.Sqrt(Math.Pow((double)(s[1].x - s[2].x), 2.0) + Math.Pow((double)(s[1].x - s[2].x), 2.0));
    sides[2] = Math.Sqrt(Math.Pow((double)(s[2].x - s[0].x), 2.0) + Math.Pow((double)(s[2].x - s[0].x), 2.0));
  }
Run Code Online (Sandbox Code Playgroud)

...

        [TestMethod()]
        public void TriangleConstructorTest1()
        {
            Point[] s = null; // TODO: Initialize …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing mstest

3
推荐指数
1
解决办法
1万
查看次数

如何检查项目是否是测试项目?(NUnit、MSTest、xUnit)

我想检查所选项目(我有源代码)是否是以下框架之一的 TestProject:NUnit、MSTest、xUnit。

对于 MSTest 来说很简单。我可以检查 .csproj 和标签。如果我有 {3AC096D0-A1C2-E12C-1390-A8335801FDAB} 则意味着它是测试项目。

问题是NUnit 和xUnit。我可以在 .csproj 中检查此案例的引用。如果我有 nunit.framework 或 xunit,那就很明显了。但我想知道是否可以以不同的方式检查这一点。

您知道识别测试项目的不同方法吗?

testing nunit mstest xunit.net visual-studio

3
推荐指数
1
解决办法
2094
查看次数

vstest.console.exe 可以运行网络性能测试吗?

我按照本文档将我的 Web 性能测试项目的构建迁移到 TFS 2013 构建过程模板,以进行自动 nuget 恢复。

我的解决方案有 .webtest 文件,它们是 Web 性能测试的容器。但是 VsTest.console.exe 无法识别 .webtest 测试。我查看了发现者,发现安装的没有一个支持 .webtest 扩展名。

在此处输入图片说明

我尝试使用 vstest.console.exe 查找用于运行 .webtests 的测试适配器,但一无所获。

本文档vstest.console.exe 进行了以下说明

您可以从命令行运行自动化单元和编码的 UI 测试。

这对于mstest.exe

您可以在本地或使用测试控制器或测试代理从命令行运行自动化 Web 性能和负载测试。

为什么vstest.console.exe不支持 .webtests ?它不是被设计为mstest.exe的替代品,用于使用适配器运行任何类型的测试吗?

另外,如果这意味着我需要编写一个可以读取和运行带有 .webtest 扩展名的测试的自定义适配器,那么我需要做什么?

mstest tfsbuild vstest

3
推荐指数
1
解决办法
1376
查看次数

对自定义异常进行单元测试

我的代码覆盖率已将我的自定义异常列为 0 测试覆盖率。我正在使用 MsTest、Moq 和 Fluentassertions。是否有针对自定义异常的适当单元测试?

这是我的异常类

  public class ConfigurationNotFoundException : Exception
    {
        public ConfigurationNotFoundException()
        {
        }

        public ConfigurationNotFoundException(string message) : base(message)
        {
        }

        public ConfigurationNotFoundException(string message, Exception innerException) : base(message, innerException)
        {
        }

        protected ConfigurationNotFoundException(SerializationInfo info, StreamingContext context) : base(info, context)
        {
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# unit-testing mstest custom-exceptions

3
推荐指数
1
解决办法
7029
查看次数

如何从 Jenkins 上的 mstest 中使用“/Category”排除测试

在你指出其他问题之前,请继续阅读......

我正在运行来自 Jenkins 的 mstest 参数(不确定这是否相关)并希望排除不属于特定类别的测试。在一个类别中包含测试可以使用 ,/category:CI但是当我使用它来排除使用/category:!CI它的测试时不起作用。它只是说no tests to execute。我 %110 确定我的容器中有不属于此类别的测试。我正在为 VS2010 使用 mstest 测试。

mstest.exe /testcontainer:%%i /runconfig:%TestSettingFile% /category:"!CI" /resultsfile:Results.trx
Run Code Online (Sandbox Code Playgroud)

知道我可能做错了什么

编辑 我发现这个命令在从 Jenkins 运行时不起作用,但它可以通过本地机器上的 cmd 正常工作 - Jenkins 当前是否存在与此相关的错误?

continuous-integration mstest jenkins gitlab gitlab-ci

3
推荐指数
1
解决办法
3143
查看次数

以编程方式运行 Roslyn 分析时启用 Roslyn 诊断

我已经使用 VS 2015 模板创建了一个 Roslyn 分析器。鉴于默认情况下启用了诊断,我已经让一切正常工作,包括单元测试。

如果我设定的isEnabledByDefault参数上DiagnosticDescriptor,以false我能得到的一切使用使诊断在Visual Studio中的工作.ruleset文件。但是,一旦默认禁用诊断,单元测试将不再报告其结果。

如何在单元测试期间启用这些默认禁用的诊断?我准备改变单元测试调用 Roslyn Compilation/Analyzer/Diagnostic/等的方式。结果,但由于缺乏我设法从各种来源抓取的文档,我还没有找到指定设置的方法。

unit-testing mstest roslyn roslyn-code-analysis

3
推荐指数
1
解决办法
256
查看次数

如何将 UI 测试屏幕截图作为附件添加到 TFS 测试报告

我使用的是 Visual Studio 2017、Visual Studio 测试工具和 VSTFS v.15。我设法使用 Selenium 截取了屏幕截图,目前将它们存储在“TestLogsDir”文件夹中。当我在本地运行 UI 测试时,我可以在每次测试运行后轻松找到我的屏幕截图。但是在虚拟机“TestLogsDir”上运行每晚构建后被删除。显然,我可以将屏幕截图存储在其他地方,但问题是如何将屏幕截图附加到 TFS 测试报告中的相应测试用例?

tfs selenium nunit mstest

3
推荐指数
1
解决办法
2807
查看次数

将 NLog 与 MSTest (.NET Core 2.0) 结合使用

我有一个使用 .NET 4.7 构建的解决方案。该解决方案有两个项目:

  • 类库 (.NET 4.7.2)
  • 单元测试项目 (.NET Framework)

我正在尝试迁移此解决方案以使用 .NET Standard | 核。

我已成功将类库转移到 .NET Standard 2.0 项目。我还将单元测试项目转移到.NET Core 2.0 mstest 项目。一切都编译。我可以按预期运行我的测试。但是,没有日志通过 NLog 写入。

在我的 .NET 4.7 版本的解决方案中,当我运行单元测试时,实际的日志文件是通过 NLog 写入的。但是,在新的 .NET Standard | 核心实现,这个日志文件没有被写入。我的 mstest 项目中有以下两个文件:

应用配置

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>
Run Code Online (Sandbox Code Playgroud)

配置文件

<?xml version="1.0" encoding="utf-8" ?>
<!-- XSD manual extracted from package NLog.Schema: https://www.nuget.org/packages/NLog.Schema-->
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"  
    xsi:schemaLocation="NLog NLog.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    autoReload="true"
    internalLogFile="c:\temp\console-example-internal.log"
    internalLogLevel="Info" >
  <targets>
    <target name="myLogs" xsi:type="File" deleteOldFileOnStartup="true" fileName="${basedir}/logs/MyLogs.json" createDirs="true" keepFileOpen="true" encoding="utf-8" layout="${message}" /> …
Run Code Online (Sandbox Code Playgroud)

c# mstest nlog .net-core

3
推荐指数
1
解决办法
1257
查看次数

如何使用 ILogger 编写 azure 函数(Httptrigger)的单元测试

想为 HttpTrigger GET 编写单元测试。有方法签名如下:

public static async Task<HttpResponseMessage> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)]
    HttpRequestMessage request, 
    ILogger log)
Run Code Online (Sandbox Code Playgroud)

这里ILogger是 Microsoft.Extensions.Logging 的类型。

如何使用此注入编写单元测试用例,尝试创建ILogger使用以下内容的存根,但这需要LoggerFactory.

public class LoggerWriter : Microsoft.Extensions.Logging.Logger<ILogger>
{
    public LoggerWriter() : base() // this needs logger factory.
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

httptrigger azure 函数的任何示例单元测试Ilogger都有助于克服上述问题(注入)。

nunit mstest dependency-injection azure-functions azure-functions-runtime

3
推荐指数
1
解决办法
3347
查看次数