代码之家  ›  专栏  ›  技术社区  ›  FuSsA Kamesh Murali

挤压TA:来自两个数据集的行可能没有正确匹配

  •  0
  • FuSsA Kamesh Murali  · 技术社区  · 7 年前

    到目前为止,我所做的是:

    测验助教

    // -- 1 --
    SETUP :
    // -- 2 --
    LOAD PRE/query1.sql AS query1.file
    CONVERT query1.file TO query.sql AS query
    // -- 3 --
    # LOAD PRE/query1_expected.xml TO XML DATASET expected.dataset
    
    // -- 4 --
    TEST :
    // -- 5 --
    EXECUTE execute WITH query ON DB_INT3_PARC AS raw_result
    // -- 6 --
    CONVERT raw_result TO dataset.dbunit AS actual.dataset 
    // -- 7 --
    ASSERT actual.dataset IS equal WITH expected.dataset 
    

    query1.sql

    SELECT pid.ID ,pid.type , pid.system, P.ID_PRODUIT , p.ref_produit , p.libelle,P.TYPE as P_TYPE,r.id_ressource, p.id_party, p.statut 
    FROM parc_produit p, parc_ressource r, parc_produit_id pid
    WHERE r.VALEUR = 8933200000000221265 and r.nom_ressource = 'ICCID' AND r.id_produit = p.id_produit 
    AND pid.id_produit = p.id_produit AND pid.system = '123'
    

    应为query1\u。xml

    <?xml version="1.0"?> 
    <dataset> 
        <default ID="0000009794" TYPE="PFI" SYSTEM="123" ID_PRODUIT="794" REF_PRODUIT='null' LIBELLE='null' P_TYPE="17" ID_RESSOURCE="121" ID_PARTY="101" STATUT="27"/> 
    </dataset>
    

    执行时 数据库中的query1.sql ,输出为:

    0000009794  PFI 123 794 (null) (null) 17    121 101 27
    

    断言失败:

    [失败]断言实际值。数据集与预期值相等。数据集 组织。挤压试验。助教。框架例外BinaryAssertionFailedException: 实际数据集与预期数据集不同

    执行报告:

    • 表“default”:警告:由于表“default”没有(伪)主键,两个数据集中的行可能无法正确匹配。 {libelle:expected='null'| actual='null'}{ref\u produit:expected='null'| actual='null'}

    谢谢你的建议。。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Jeff    7 年前

    您是否有一个ReplacementDataSet[0]用于预期数据集中的“null”?如果不是,则将其视为字符串。字符串“null”不等于实际数据集中的null。

    [0] http://dbunit.sourceforge.net/components.html#replacementdataset