MSUnitTest错误“对象引用未设置为对象的实例。”

时间:2019-06-03 17:22:35

标签: c# api unit-testing asp.net-core mstest

我正在尝试将UnitTest应用于我的C#.net核心项目,并且出现对象实例错误,该如何解决?

私有只读IMongoCollection _productos;

    public ProductoService()
    {
        _productos.InsertOne(new Producto { Id = "asdlñ", Nombre = "asdadas", ml = 12, Precio = 102 });
        _productos.InsertOne(new Producto { Id = "asdwqqlñ", Nombre = "test1", ml = 12, Precio = 11 });
        _productos.InsertOne(new Producto { Id = "as111dlñ", Nombre = "feeewew", ml = 12, Precio = 33 });
        _productos.InsertOne(new Producto { Id = "asd222lñ", Nombre = "asdada3232s", ml = 12, Precio = 44 });
    }
    public ProductoService(IConfiguration config)
    {
        var client = new MongoClient(config.GetConnectionString("localhost"));
        var database = client.GetDatabase("BeerSys");
        _productos = database.GetCollection<Producto>("producto");
    }

[Route(“ api / [controller]”)]     [ApiController]     公共类ProductoController:ControllerBase     {         私有只读ProductoService _IProductoService;

    public ProductoController(ProductoService productoService)
    {
        _IProductoService = productoService;
    }

    [HttpGet]
    public ActionResult<List<Producto>> Get()
    {
        return _IProductoService.Get();
    }
 }

私有只读IMongoCollection _productos;

    public ProductoService()
    {
        _productos.InsertOne(new Producto { Id = "asdlñ", Nombre = "asdadas", ml = 12, Precio = 102 });
        _productos.InsertOne(new Producto { Id = "asdwqqlñ", Nombre = "test1", ml = 12, Precio = 11 });
        _productos.InsertOne(new Producto { Id = "as111dlñ", Nombre = "feeewew", ml = 12, Precio = 33 });
        _productos.InsertOne(new Producto { Id = "asd222lñ", Nombre = "asdada3232s", ml = 12, Precio = 44 });
    }
    public ProductoService(IConfiguration config)
    {
        var client = new MongoClient(config.GetConnectionString("localhost"));
        var database = client.GetDatabase("BeerSys");
        _productos = database.GetCollection<Producto>("producto");
    }

[TestClass]     公共类UnitTest1     {         私有ProductoService _productoService;         公共UnitTest1()         {             _productoService =新的ProductoService();         }

    [TestMethod]
    public void GetProductos()
    {
        var controller = new ProductoController(_productoService);
        var response = controller.Get();

        Assert.IsInstanceOfType(response, typeof(OkObjectResult));

    }


}

消息:无法创建类Api_Negosio_UnitTest.UnitTest1的实例。错误:System.NullReferenceException:对象引用未设置为对象的实例。

0 个答案:

没有答案