1

クエリしたオブジェクトから結果を取得するのにまだ問題があります。以下のクエリは、すべての TestCase オブジェクトを取得して画面に出力します。オブジェクトは次のようになります[object, Object]

次に、印刷して絞り込もうとしましたが、次のように印刷されますdocument.write( queryResults.testcase.Results + " " + i);: undefined #(# はインデックスでインクリメントされます)

ここでの私の最終的な目標は、実行されていないテスト ケース (別名、結果がない) を見つけることです。別のポスターで提案されているように、私の戦略は、すべてのテスト ケースを返し、Result.length=0; で並べ替えることでした。(結果がないことを意味します)。試してみdocument.write( queryResults.testcase.Results.length + " " + i);ましたが、うまくいきませんでした。画面には何も出力されません。オブジェクトの配列であると考えて、Results[i] で同様のことを試みました。「フェッチ」をいじってみましたが、空白のままにすると何かが返されるようです(デフォルトはtrueで、すべてのフィールドが返されます)。

function runMainQuery(rallyDataSource) {
        document.getElementById("TestCaseInfo").innerHTML = "";
        busySpinner = new rally.sdk.ui.basic.Wait({hideTarget: false});
        busySpinner.display('spinner');
        var daySpan = numOfDays; // how many days back from today for TestCaseResult inclusion

        var dateBoundingClause = '(Date >= "' + previousDate(daySpan) + '")';

       // ORIGINAL VALUE ------  var dateBoundingClause = '(Date >= "' + previousDate(daySpan) + '")';

        querySpec = {
            key   : "testcase",
            type  : "testcase"
            //query: dateBoundingClause
        };
        rallyDataSource.findAll(querySpec, showResults);
    }//end runMainQuery


    function showResults(queryResults) {
        busySpinner.hide();
        //console.log("Number of test cases returned by the Test Case/Test Case Results query: " +
        //             queryResults.testcase.length);

        totalNumTestCases = queryResults.testcase.length;

        if (queryResults.testcase.length === 0) {
            var message = "Enter the date range (Oldest to Newest). Click UPDATE, and wait for the test cases to populate. Once test cases appear, click GENERATE REPORT.";
            document.getElementById("TestCaseInfo").innerHTML = message;

            return;
        }

        for (var i = 0; i < queryResults.testcase.length; i++) {
        document.write( queryResults.testcase + " " + i);
        document.write("<br/>");
        }

どんなアイデアでも大歓迎です!

psスタックオーバーフローは初めてです。この投稿を以前の投稿に関連付ける方法があると思いますが、その方法がわかりませんでした。関連記事の正しい投稿マナーを教えてください。

ありがとう

4

1 に答える 1

0

テスト ケースにテスト ケース結果が関連付けられている場合にのみ LastVerdict が入力されるため、LastVerdict が null であるすべてのテスト ケースに対してクエリを実行することをお勧めします。コードでは、これは次のようになります。

    var queryClause = "(LastVerdict = \"\")";
    querySpec = {
        key   : "testcase",
        type  : "testcase",
        query: queryClause
    };

このクエリは、すべての「まだ実行されていない」テスト ケースを返す必要があります。次に、結果のリストをshowResults関数で処理します。

于 2013-03-18T20:56:48.423 に答える