1
全新的測試,我有一個控制器是這樣的:如何使用XUnit編寫簡單的測試用例?
public class CheckRegController : Controller
{
private readonly ApplicationDbContext _context;
private readonly AppSettings _appSettings;
public CheckRegController(ApplicationDbContext context, IOptions<AppSettings> appSettings)
{
_context = context;
_appSettings = appSettings.Value;
}
[HttpGet]
public IActionResult Get(string var1, int numberusers)
{
//...
}
}
現在我已經加入其中,我想使用的xUnit和最小起訂量的測試項目。我只是想創建控制器就像我在一個非常簡單的項目都做的一個對象,但它不能在this.When工作,我想:
CheckRegController cr = new CheckRegController();
它說:
有沒有給定的參數對應於 所需的正式 參數 '語境' 'CheckRegController.CheckRegController(ApplicationDbContext, IOptions)' XUnitTestProjectOA
釷EN我試過了:
var moqHome = new Mock<ApplicationDbContext>();
但我不知道是否正確或者我需要做什麼? 如何通過_context
和_appsettings
??
這正是我想要的......但在UnitTestProject的情況下,我們使用[TestMethod]屬性,並通過單擊測試用例我們可以運行任何測試用例,但在XUnitTestCase中,我有[Fact]屬性,我無法運行測試用例?如何運行它?我正在使用命令:dotnet test -method namespace.projectname.methodname?但它不起作用。 – Mogli
它給我dbmock.object上的錯誤 - Castle.DynamicProxy.InvalidProxyConstructorArgumentsException:'無法實例化類的代理:abc.Data.ApplicationDbContext。? – Mogli
@Mogli這就是爲什麼我已經提出了關於抽象數據庫上下文以提供更多靈活性的原因。 – Nkosi