일부 단위 테스트를 실행하기 위해 세션 변수를 설정하는 데 실패했습니다. 세션 변수를 설정하려고하면 "System.NullReferenceException : 개체 참조가 개체의 인스턴스로 설정되지 않았습니다."오류가 계속 발생합니다. 여기 세션 변수를 설정할 수 없습니다.
내가 짓고 있어요 테스트입니다 :[TestMethod]
public void MyMethod()
{
//Arrange
int id = 12345;
string action = "A";
string comment = "";
string user = "user";
var controller = new MyController();
//Act
controller.Session["altUser"] = user;
var result = controller.Process(id, action, comment);
//Assert
Assert.IsNotNull(result);
}
그리고 여기 내 컨트롤러 : 나는 응용 프로그램 자체를 실행할 때 오류 및 응용 프로그램 기능이없는, 그러나
[Authorize]
public class MyController : Controller
{
public ActionResult Process(int id, string action, string comment)
{
string userId = Session["altUser"].ToString();
//some other stuff that evaluates ID, Action, and Comment
}
}
그것은해야한다. 테스트 주도 개발을 사용하면 테스트를 통해 구현 방법을 알 수 있습니다. 이미 수행 된 응용 프로그램에 대해 Unit Testing을 사용하여 연습을하려고합니다. 가능하면 응용 프로그램이 작동하기 때문에 구현에 대한 변경을 피하고 이미 알고있는 것을 지원하는 단위 테스트를 작성하고 싶습니다.
이와 같은 mocking 프레임 워크를 사용할 때 Arrange, Act, Assert 패턴을 따라갈 수 있습니까? (Moq를 사용하면 Setup, Methods, Verify) '스테이지 제목'처럼 보이거나 최상의 것입니다. 다른 패턴을 따르는 연습? 그들이 가지고있는 QuickStart 튜토리얼을 통해 얻으려는 동안이 질문을합니다. –
AAA는 괜찮습니다. - 대부분의 테스트가 설정되는 방식입니다. –
고마워, 많이 도와 줬어! – Rovdjuret