내가 Trello REST API를 대상으로 다음 오이 기능/시나리오 작성했습니다 재설정 : 그러나명중 Trello 오이 테스트 경험을위한 API 및 테스트 Trello 보드의 상태를 얻으려고 노력에 붙어이
Feature: Change existing board details
In order to keep my boards up to date
As Trello member
I want to be able to edit board details
Scenario: Update the board name
Given I have an existing board with id 59f8c6debdf037ee708c302f
When I request to update the name
Then the name of the board should change
를, 내가 한 번 내 테스트를 통해 실행하면 보드 이름이 초기 상태로 재설정되지 않기 때문에 이후의 모든 테스트가 실패합니다. 여기에서 초기 이름과 일치합니다 (하지만 테스트를 실행하면 업데이트 된 이름으로 변경됩니다).
[Given("I have an existing board with id (.*)")]
public void GivenIHaveAnExistingBoard(string id)
{
request = restHelper.GetBoard(id);
if (request.StatusCode == HttpStatusCode.OK)
{
board = JsonConvert.DeserializeObject<Board>(request.Content);
testBoardId = board.Id;
Assert.That(board.Name, Is.EqualTo(initialBoardName));
}
else
{
Console.Write(String.Format("Request unsuccessful with status code {0}", request.StatusCode));
}
}
나는 Given ste p는 테스트를 실행하기 전에 보드 이름을 초기 이름으로 설정하지만, 필자는 설치 중에 REST 쿼리 (보드 이름을 바꾸려면 끝점에 PUT
요청)를 사용하고 있다는 것을 깨달았습니다. 이것은 잘못된 것 같습니다. 테스트를 실행하기 전에 내 테스트 Trello 보드가 기본 상태로 돌아가는 더 좋은 방법이 있습니까?
또 다른 옵션은 Before Hook에 정리 코드가 있지만 Trello API에 대한 PUT 요청은 보드 이름을 원래 값으로 되 돌리는 데 여전히 필요합니다. 테스트 코드에 새로운 PUT 요청을 작성하여 테스트중인 메소드를 클린업 코드에서 격리 된 상태로 유지할 수 있지만 일부 코드 중복이 발생합니다 ... –
왜 Trello API를 테스트하고 있습니까? 확실히 Trello는 API 자체를 테스트합니다. 외부 서비스를 테스트하는 것은 오이가 설계된 것이 아니므로 작업에 잘못된 도구를 사용하고 있거나 전혀 작업을 수행 할 필요가 없을 수도 있습니다! – diabolist
@diabolist API를 통해 타사 소프트웨어를 테스트하기위한 다양한 메커니즘을 시험 중입니다. 나는 Trello를 테스트하려고하지 않고 있으며, 단지 무료이고 문서화 된 옵션이었습니다. :) 당신의 두 번째 요점 - 외부 서비스가 오이에 잘 맞지 않는지 테스트하는 것 - 기본적으로 정확히 내가 측정 한 것입니다.이 노트에서 비 기술적 인 사람과 기술자가 협력하여 타사 소프트웨어에 대한 테스트를 만들 수있는 다른 옵션을 제안합니까 (솔루션 수준 테스트가 아닌 단위 테스트)? –