标签: nunit

如何运行 NUnit 测试?

我想要一个独立的项目来测试通过 USB 连接的远程系统的一些功能。

所以我想在我的应用程序中使用 NUnit 的所有功能。

我目前是这样写的:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using NUnit.Framework;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.ReadLine();
        }
    }

    [TestFixture]
    public class MyTest
    {
        [Test]
        public void MyTest()
        {
            int i = 3;
            Assert.AreEqual(3, i);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如何运行我的测试套件以及如何获得测试报告?

c# nunit

0
推荐指数
1
解决办法
1970
查看次数

如何测试函数是否不抛出异常?

我有这个功能和测试:

public void SaveForWeb ()
{
    UpdateGameState();
    try
    {
        PlayerPrefs.SetFloat(Helper.EXP_KEY, experience);
        PlayerPrefs.SetFloat(Helper.SCORE_KEY, score);
        // other properties that need to be saved in PlayerPrefs

        PlayerPrefs.Save();
    }
    catch (Exception ex)
    {
        Debug.Log(ex.Message);
    }
}

[Test]
[Category(Helper.TEST_CATEGORY_SAVE_FOR_WEB)]
public void SaveForWebTest ()
{
    // arrange
    var slgdController = FakeSaveLoadGameDataController();
    TestDelegate myDelegate = () => {};

    // act
    slgdController.SaveForWeb();

    // assert
    Assert.DoesNotThrow(myDelegate);
}
Run Code Online (Sandbox Code Playgroud)

但我觉得断言和SaveForWeb()函数调用之间没有联系.

注意:SaveForWeb()使用Unity3D API中的PlayerPrefs,如果本地文件超过1 MB,则可能抛出PlayerPrefsException.

如果函数不抛出异常,这是断言的正确方法吗?

c# nunit unit-testing exception nsubstitute

0
推荐指数
2
解决办法
4102
查看次数

测试分类

我想知道关于使用属性(如NUnit的Category属性)对测试进行分类的"最佳实践"是什么?

您是按应用程序的功能范围,按类别(单元测试,端到端测试,烟雾测试,集成测试等),按技术类别(长时间运行,Web请求等)或每种类型的混合对它们进行分类?

总而言之,我不想在几个月内对数千个测试进行重新分类,那么最佳策略是什么?

提前感谢您的回答!

testing nunit unit-testing categorization

0
推荐指数
1
解决办法
445
查看次数

如何模拟不断变化的课程?

我有一个XrmServiceContext类,每次CRM配置更改时它都会更改。

我的服务类在其构造函数中接受它:

public class fooService(XrmServiceContext xrmServiceContext)
{
   //implementation
}
Run Code Online (Sandbox Code Playgroud)

我需要模拟XrmServiceContext以便设置期望并验证单元测试的行为。

我如何模拟此类以便在我的fooService测试中定义行为?

c# nunit unit-testing moq dynamics-crm-2011

0
推荐指数
1
解决办法
251
查看次数

夹具和xml输出生成中的Nunit 3控制台转轮问题

我正在使用最终的构建器7动作Nunit与fixture和xml输出选项.当我使用NUnit 2.6.4版本运行时,它运行正常.但我已将版本升级到3.0即nunit3.console

请查看此链接以获取为参考提供的最终构建器选项. https://i.stack.imgur.com/CdYpG.png

我面临以下问题:

  1. 参数/ xml无效
  2. 参数/夹具无效

我试图执行如下命令:

nunit3.console.exe Test.dll --fixture=example --xml=example.xml
Run Code Online (Sandbox Code Playgroud)

但它对我不起作用.我错过了命令行语法中的任何内容吗?我的目标是为我指定的每个类获取单独的xml文件.请帮我解决这个问题.提前致谢.

nunit fixture

0
推荐指数
1
解决办法
1973
查看次数

列出所有使用NUnit控制台运行程序的测试

在NUnit控制台运行程序中,有一个控制台命令用于列出Visual Studio项目中的所有测试。有人知道吗?

我使用版本3.6.1。

c# nunit command nunit-console

0
推荐指数
1
解决办法
1334
查看次数

如何让nunit3-console将我的调试输出到屏幕(在Windows框中)?

我已经使用nunit在MSVS2013中成功运行我的C#单元测试,使用nunit GUI和nunit控制台.

对于前两个,我可以进入我的调试输出(Console.Write(...)).在MSVS2013中,可以通过在测试后单击"输出"链接查看,在GUI中,调试显示在"输出"窗口中.

当我使用nunit3-console.exe运行时,我只是得到摘要报告.我试着查看XML输出中的内容(在TestResults.xml中),但它只包含更多相同的摘要报告.

如何让我的调试也出现在屏幕上?

我的命令行如下所示:

nunit3-console.exe "c:\path\to\my\assebly.dll" --trace=Verbose --test=Regression.Tests.HelloWorld
Run Code Online (Sandbox Code Playgroud)

测试HelloWorld中有一行Console.Write("Hello World\r\n");,我想看到它出现在屏幕上(标准输出).

c# nunit nunit-console

0
推荐指数
1
解决办法
2980
查看次数

Moq并设置DB Context

我有一个Entity Framework数据库上下文文件.我正在尝试在NUnit中设置Moq框架.目前收到Moq Nunit测试的错误.如何设置DBContext,并将项目添加到产品表?

"没有为此DbContext配置数据库提供程序.可以通过覆盖DbContext.OnConfiguring方法或在应用程序服务提供程序上使用AddDbContext来配置提供程序.如果使用AddDbContext,则还要确保您的DbContext类型接受DbContextOptions对象它的构造函数并将其传递给DbContext的基础构造函数."

Electronics DB上下文文件

public partial class ElectronicsContext : DbContext
{
    public ElectronicsContext()
    {
    }

    public ElectronicsContext(DbContextOptions<ElectronicsContext> options)
        : base(options)
    {
    }

    public virtual DbSet<Product> Product { get; set; }
    public virtual DbSet<ProductCategory> ProductCategory { get; set; }
Run Code Online (Sandbox Code Playgroud)

Startup.cs

    var connection = @"Server=localhost;Database=Electronics;Trusted_Connection=True;ConnectRetryCount=0";
    services.AddDbContext<ElectronicsContext>(options => options.UseSqlServer(connection));
Run Code Online (Sandbox Code Playgroud)

Moq Nunit测试

 [SetUp]
 public void Setup()
 {
    var ElectronicsContext = new Mock<ElectronicsContext>();
    var ProductRepository = new Mock<ProductRepository>();

    Product producttest = new Product();
    _dbContext.Product.Add(new Product {ProductId = 1, ProductName = "TV", ProductDescription = …
Run Code Online (Sandbox Code Playgroud)

c# nunit moq entity-framework-core asp.net-core

0
推荐指数
1
解决办法
2549
查看次数

FluentAssertion - 向if语句添加断言

我有以下Fluent Assertion,我想在if语句中添加.我收到一个错误,说我不能隐式地将类型转换为bool.

我试图明确地转换它但我仍然得到一个错误,说不能将类型转换为bool.

actors.Cast.Should().Contain(actor => actor.Name == "Emilia Clark");

检查上述陈述是否属实的最佳方法是什么?

c# nunit unit-testing assertion fluent-assertions

0
推荐指数
1
解决办法
54
查看次数

nUnit/moq - 为什么我的模拟总是返回false?

我是nUnit和Moq进行单元测试的新手,并且在dbprovider中遇到了一个方法的问题.

我正在尝试测试在ICoDbProvider中调用Exists方法的验证方法.如果为false,则该方法会抛出一个excpetion,并且工作正常.如果为true,则该方法应该继续执行,直到return true;方法结束时的语句为止.

这是测试的方法:

private bool ValidateReciboCajaModel(ReciboCajaModel model)
{
        if (model == null)
            throw new ArgumentException("El modelo ha llegado nulo");

        if (string.IsNullOrWhiteSpace(model.AccionARealizar))
            throw new ArgumentException("No se ha definido una Acción a realizar");

        if (!_accionARealizarService.Exists(new AccionARealizarEntity(model)))
            throw new ArgumentException(@"No es una ""acción a realizar"" válida");


        if (string.IsNullOrWhiteSpace(model.CentroCostos))
            throw new ArgumentException("No se ha definido ningún centro de costos");

        if (!_centroCostosService.Exists(new CentroCostosEntity(model)))
            throw new Exception("No es un centro de costos válido");

        if (String.IsNullOrWhiteSpace(model.CuentaIngresoDinero))
            throw new Exception("No es una cuenta de Ingreso …
Run Code Online (Sandbox Code Playgroud)

.net c# nunit unit-testing moq

0
推荐指数
1
解决办法
168
查看次数