문제

여기 내 상황이 있습니다.

테스트가 실행되기 전에 Beforesuite에서는 환경 구성 파일을 기반으로 이러한 개체가 생성됩니다. 실제로 이러한 환경 객체를 사용하는 것은 내 테스트입니다. 문제는 어떻게 테스트에 전달할 수 있다는 것입니다.

첫 번째 임펄스는 데이터 제공 업체를 사용하는 것일 수 있으며, 이는 올바른 개체를 테스트에 전달합니다. 문제는 데이터 제공 업체가 올바른 개체를 참조하고 전달하는 방법을 알아야한다는 것입니다. 이제 환경 개체는 이름으로 만 참조 할 수 있습니다 (문자열 -> 개체)

내 다른 옵션은 올바른 개체를 나타내는 문자열을 테스트 방법을 전달하는 것입니다. 그러나 이것은 위와 같은 문제가 있습니다.

이 두 옵션은 모두 많은 종속성과 문제를 만듭니다. 또한 키가 지칭하는 유형에 대해 많은 가정을해야합니다.

이 문제의 대부분은 내가 testng를 학대한다는 사실에서 비롯됩니다. 내가 정말로 필요한 것은 적절한 환경 객체를 통과하면서 테스트 객체를 인스턴스화 할 수있는 내 컨트롤러입니다.

나는 testng의 testrunner 인터페이스를 조사하고 있었지만 이것이 효과가 있는지 확실하지 않습니다.

모든 도움이 감사했습니다. 에릭

도움이 되었습니까?

해결책

@factory와 @dataprovider의 혼합을 사용하지 않는 이유는 무엇입니까?

공장은 테스트 인스턴스를 작성하고 올바른 매개 변수를 전달하는 것을 담당합니다. 문자열 (이 경우 데이터 제공 업체는 이러한 문자열을 객체로 바꿀 수 있음) 또는 객체를 직접 직접 전환합니다.이 경우 테스트는 이러한 값을 직접 사용할 수 있습니다. .

문제를 해결하는 데 도움이되지 않으면 코드를 게시하십시오.

- 세드릭

다른 팁

나는 비슷한 상황이 있었고 대신 Java 속성을 사용하게되었습니다.

코드에서 속성을 사용할 수 있습니다 이와 같이 -dmyproperty.value = Hello를 사용하여 변수를 JVM으로 전달하십시오. 환경 경로, 서비스 URL, 타임 아웃 금액 등과 같은 물건에 사용했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top