NUnit Category를 사용하여 특정 테스트 코드를 CI에 실행시키지 마십시오.
UI를 수반하는 테스트 코드, DB를 직접 갱신하는 테스트 코드 등…
움직이는 환경을 만들고 싶은 것은 산들이지만 여유가 없다.
이런 경우, CI에서의 실행을 무시하고 싶은 경우의 대응 방법으로서 Category 애트리뷰트를 사용해, 일단 CI로 실행시키지 않는 방법을 소개합니다.
참고 사이트
시험 환경
수중의 환경이 TeamCity이므로 TeamCity로 설명합니다만, Jenkins에서도 같은 일을 할 수 있다고 생각합니다.
Category 속성 선언
미리, CI로 제외 대상으로 하는 카테고리명을 결정해 둡니다.
이번은 「BuidServerIgnore」로서 선언합니다만, 「JenkinsIgnore」에서도, 좋아하는 대로.
제외하고 싶은 테스트 코드에 Category 속성으로 선언합니다.
/// <summary>
/// <see cref="BaseGameInfo.SaveDataBase"/>をテストします。
/// </summary>
/// <remarks>
/// TeamCityだと失敗するので、Category属性を付与
/// </remarks>
[Category("BuildServerIgnore")]
[Test]
public void SaveDatabase()
{
// 何かしらの DB処理
}
CI(TeamCity)에서 제외하도록 설정
NUnit의 시작 인수에 "--where "cat != BuildServerIgnore""와 같이 선언합니다.
이제 BuildServerIgnore와 Category가 선언된 테스트 코드는 제외됩니다.
결론
실제로는, 온 코드가 아니고, 정수화해 두어 Category 선언이 좋은가라고 생각합니다.
public class TestSetup
{
public const string BuildServerIgnoreCategory = "BuildServerIgnore";
}
[Category(TestSetup.BuildServerIgnoreCategory)]
[Test]
public void SaveDatabase()
{
// 省略
}
Reference
이 문제에 관하여(NUnit Category를 사용하여 특정 테스트 코드를 CI에 실행시키지 마십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rim_0720/items/294d71dddd2935614b31
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
/// <summary>
/// <see cref="BaseGameInfo.SaveDataBase"/>をテストします。
/// </summary>
/// <remarks>
/// TeamCityだと失敗するので、Category属性を付与
/// </remarks>
[Category("BuildServerIgnore")]
[Test]
public void SaveDatabase()
{
// 何かしらの DB処理
}
NUnit의 시작 인수에 "--where "cat != BuildServerIgnore""와 같이 선언합니다.
이제 BuildServerIgnore와 Category가 선언된 테스트 코드는 제외됩니다.
결론
실제로는, 온 코드가 아니고, 정수화해 두어 Category 선언이 좋은가라고 생각합니다.
public class TestSetup
{
public const string BuildServerIgnoreCategory = "BuildServerIgnore";
}
[Category(TestSetup.BuildServerIgnoreCategory)]
[Test]
public void SaveDatabase()
{
// 省略
}
Reference
이 문제에 관하여(NUnit Category를 사용하여 특정 테스트 코드를 CI에 실행시키지 마십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rim_0720/items/294d71dddd2935614b31텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)