我在本地机器上运行此测试并显示(测试通过)。 “alex”用户存在于本地数据库中,带有“123”。
我的问题是
我如何在其他服务器上运行此测试。因为我不知道凭证。(alex用户在其他服务器上不存在)换句话说,如果我在其他服务器的情况下如何传递有效凭证,或者我如何执行此测试?
[TestClass]
public class AccountControllerTest
{
[TestMethod]
public void ValidLoginTest()
{
string domain = "sales";
string userName = "alex";
string password = "123";
var controller = new AccountController();
var x = new LdapLoginModel { DomainName = domain, UserName = userName, Password = password };
var result = controller.Login(x, "") as ViewResult;
Assert.IsTrue(result.ViewData.ModelState.IsValid, "Login in passed for user: [" + userName + "]");
}
}
注意:
我使用的是Asp.net MVC4,SQL Server 2008
答案 0 :(得分:0)
这不是单元测试,而是系统测试。 Unit test should not be dependant on the environment (database, cache, machine, etc)。
对于单元测试,您应该模拟您的数据。
对于系统测试,您可以使用一些数据驱动机制,例如使用TestCaseFactory并根据环境从配置或外部资源中读取数据