Visual Studio의 코드 분석 기능 (일명 "FxCop")과 같이 정적 분석에 더 적합한 것처럼 들립니다. 하지만 코드 분석 규칙을 작성한 적이 있습니다. 머리카락이 가득차면 머리를 다 쓰지 않는 한 권하고 싶지 않습니다. 머리카락을 모두 내고 싶습니다! 그래서 다시 단위 테스트에
:
당신의 단위는 전략 컨트롤러 어셈블리에있는 모든 컨트롤러 유형을 찾아 그들이 올바른 기본 클래스를 가지고 있는지 확인하는 것입니다 테스트합니다. 다음은 몇 가지 의사 코드입니다.
Type[] allTypes = typeof(SomeTypeInTheAssembly).Assembly.GetExportedTypes();
Type[] allControllerTypes = allTypes.Where(
t => typeof(IController).IsAssignableFrom(t));
Type[] allControllerTypesExceptBaseClass = allControllerTypes.Except(
t => t == typeof(BaseController);
// Assert that all controllers derive from BaseController
Assert.True(allControllerTypesExceptBaseClass.All(
t => typeof(BaseController).IsAssignableFrom(t))
감사합니다. 이것이 올바른 길을 찾는데 도움이되었습니다. (플러스 - 코드 분석에 대해 배웠습니다. – praveensewak