알고리즘 집합을 테스트하고 있습니다. 각각은 같은 목적을 가지고 있지만 도표로 그래픽으로 볼 수있는 다른 결과를 가지고 있습니다.특정 테스트를 위해 출력 결과를 QUnit에 추가합니다.
각 알고리즘마다 단위 테스트가 있습니다. 테스트중인 알고리즘에 대한 그래프를 여는 QUnit 테스트 출력 결과에 링크가 필요합니다.
문제는 내가 해킹 할 수없는 방법을 찾을 수 없다는 것입니다. 지금까지 내 최고의 아이디어 :
첫째, 시험 쓰기 :
module("Test algo 1");
test("test with inputs 1", ...);
test("test with inputs 2", ...);
그런 다음 별도의 코드를 작성하는 코드에 추가해야하는지 링크 기록 : 그런 다음
addAlgoLink("Test algo 1", "test with inputs 1", function()
{
// on click code for the link that displays the
// input/output data on a graph
})
addAlgoLink()
의 구현을 다음과 같이 입력하십시오 :
- 모든 테스트가 완료되면 QUnit에 콜백을 추가하십시오.
- 테스트가 끝나면 모듈 이름과 테스트 이름이 일치하는 항목에 대해 QUnit 결과의 DOM을 조사한 다음
addAlgoLink()
에 주어진 콜백 링크를 추가합니다. 이 DOM에 사용되는 각 시험 QUnit의 해시 ID를 사용하는 것이 더 쉽습니다,하지만 난 테스트 정의 내에서
문제 테스트의 ID에 액세스하는 방법 찾을 수 없습니다 :
-
을
- 을 (QUnit이 어쨌든을 지원하는 경우 나도 몰라 있지만)
- 그것은 시험의 각기 다른 깊이 (중첩 된 모듈)
- 그것은 그냥 처리하는 복잡한 코드를 필요 같은 이름의 모듈에서 여러 테스트를 처리 할 수 정말 해키처럼 보인다.
아마도 QUnit을 더 우아한 방법으로 확장 할 수 있습니까? 예 : 테스트 코드 내에서 테스트 및 모듈 이름을 다시 지정할 필요가 없도록 클릭 클릭 콜백을 링크로 삽입하도록 메소드를 호출 할 수 있습니다. 그런 다음 QUnit 결과 출력기를 확장하여 링크를 표시하십시오. 아마도 그것은 QUnit의 Test
개체 내에 저장 될 수 있지만, 그렇게 할 필요가있는 대부분의 또는 모든 방법 등은 개인적인 것으로 생각하기 때문에 이것이 불가능한 것처럼 보입니다 (좋은 생각이 아닐 수도 있음).
처음부터 정말 나쁜 생각을하려고합니까? 아니면 솔루션이 지저분 해져야합니까?