C#单元测试调用Assert.IsInstanceOfType报CS0119错误原因求解
错误原因
Assert.IsInstanceOfType方法的第二个入参要求接收System.Type类的实例,你直接填入Product类型名,不符合参数规范,所以触发CS0119报错。
修复方案
两种可选修复方式:
- 方法1:通过
typeof关键字获取Product对应的Type实例传入即可,修改断言行为:
Assert.IsInstanceOfType(mock_product, typeof(Product));
- 方法2:如果使用MSTest V2及以上版本,可直接调用泛型重载的断言方法,写法更简洁:
Assert.IsInstanceOfType<Product>(mock_product);
修改后的完整测试方法参考:
[TestMethod] public void TestNewProduct() { Product mock_product = new Product(4.95); // 以下两种写法选其一即可 Assert.IsInstanceOfType(mock_product, typeof(Product)); // Assert.IsInstanceOfType<Product>(mock_product); }
内容的提问来源于stack exchange,提问作者binny
相关产品推荐
相关产品推荐

