사이트 및 일부 문헌을 검색했지만 명확한 답변을 얻을 수 없습니다. 나는 unittesting을 배워서 새로운 웹 페이지를 만들려고하는데, 단순히 포스트잇을 추가 할 수있는 화이트 보드로 작동한다.단위 테스트 종속 테스트
나는 화이트 보드를 나타내는 Canvas 객체와 그 postboard를 나타내는 티켓 객체를 가지고있다.
this.testRetrieveCanvas = function()
{
var canvas = getCanvas();
this.assertTrue(canvas != null);
}
this.testCanvasType = function()
{
var canvas = getCanvas();
this.assertTrue(canvas instanceof Canvas);
}
this.testIfCanvasIsReused = function()
{
var canvas = getCanvas();
this.assertEquals(canvas, getCanvas());
}
그래서, 내가 세 가지를 테스트 :
- 이 방법은 캔버스를 반환합니까 나는이 같은 테스트 유일 캔버스를 검색 할 전역 함수 (지금은) 있나요?
- acutal 캔버스입니까?
- 이 메서드는 항상 동일한 캔버스를 제공합니까?
지금까지 문제가 없습니다. 그러나 잠시 후에, 나는 "캔버스에 티켓을 추가"테스트 해요 :
this.testAddTicketToCanvas = function()
{
var ticket = factory.createTicket("yellow");
var canvas = getCanvas();
canvas.addTicket(ticket);
this.assertTrue(canvas.contains(ticket));
};
당신이, 내가 getCanvas 내 테스트 내부() 함수를 사용하고 볼 수 있듯이. 지금이 부양 검사입니까? 이 테스트가 의심없이 돌아가고 싶다면 처음 세 테스트가 통과해야합니다. 의존성이 있다면 어떻게 해결할 수 있습니까?
나머지 코드가 없으면별로 도움이되지 않지만 http://chaijs.com/api/bdd/ (chai), http://sinonjs.org/ (sinon) 또는 http://gofreerange.com/mocha/docs/ (모카)에서 조롱에 대한 소개를 얻을 수 있습니다. –
내 질문에 답할 때 어떤 추가 코드가 필요한지 잘 모르겠습니다. 어쩌면 내가 다시 한번 말하지만 : 단위 테스트의 네 번째 규칙을 만드는 것으로, 여기에있는 단위 테스트 규칙을 위반하고 있습니까? – David
@DavidMaes 추가 정보가 필요합니다. 어떤 테스트 프레임 워크를 사용하고 있습니까? 즉 "assertTrue"메소드를 작성 했습니까 (소스를 포함 할 수 있습니까?) 또는 라이브러리에서이 메소드를 사용하고 있습니까? 또한 "getCanvas()"에 대한 코드를 포함시켜주십시오. 질문에 답변하는데도 필요합니다. –