1

Rally soap API を使用して、以前に作成されたテスト ケースに対して新しい TestCaseResult を作成しています。しかし、結果を作成するとエラーが発生します - 「検証エラー: TestCaseResult.Date は null であってはなりません」

なぜこれが当てはまるのかわかりません - 助けてもらえますか?

    private Boolean createTestResultForTest(String aResult, String aTestCase)
    {
        TestCaseResult myTestCaseResult = new TestCaseResult();
        myTestCaseResult.Build = "1";
        DateTime myDate = DateTime.Now;
        myTestCaseResult.Date = myDate;
        String myQuery = "(FormattedID = " + aTestCase + ")";
        QueryResult myTestCaseReturn = m_rallyService.query(m_workspace, "TestCase", myQuery, "", true, 0, 100);
        long mycount = myTestCaseReturn.TotalResultCount;
        if (mycount > 0)
        {
            TestCase myTestCase = (TestCase)myTestCaseReturn.Results[0];
            myTestCaseResult.TestCase = myTestCase;
        }
        else
        {
            return false;
        }
        myTestCaseResult.Verdict = aResult;


        CreateResult myCreateTestResultResult = m_rallyService.create(myTestCaseResult);
        if (hasErrors(myCreateTestResultResult))
        {
            updateStatus("Could not create test result for test case:" + myTestCaseResult.TestCase.Name);
            printWarningsErrors(myCreateTestResultResult);
            return false;
        }
        else
        {
            myTestCaseResult = (TestCaseResult)myCreateTestResultResult.Object;
            myTestCaseResult = (TestCaseResult)m_rallyService.read(myTestCaseResult);
            updateStatus("Created TestCaseResult: " + myTestCaseResult.TestCase.Name + ", ref = " + myTestCaseResult.@ref);
        }
        return true;
    }
4

1 に答える 1

0

Rally の SOAP API で、今まで忘れていた既知のバグに遭遇したと思います。基本的にバグは、TestCaseResult で有効な Date/Time オブジェクトを指定した場合でも、特定のフラグを true に設定しない限り、SOAP シリアライザーがこれを認識しないことです。

myTestCaseResult.DateSpecified = true;

このフラグを設定して、コードを再実行してください - 今すぐ動作するはずです:)

于 2012-10-04T20:15:01.007 に答える