2017-07-06 4 views
0

Ich habe einige Tests mit Jasmine und Chai für meine Nodejs Anwendung erstellt. Ich versuche, die Testergebnisse in TFS mit CI-Build zu veröffentlichen. Könnte mir jemand Anweisungen geben, wie ich das anstellen soll?Publishing Jasmin Testergebnisse mit CI auf TFS

Beispiel des Tests, die ich

import chai from 'chai'; 
import sinon from 'sinon'; 
import financialMapper from "../map/mappers/party-financials.mapper"; 
import * as _ from 'lodash'; 

var assert = chai.assert; 
var expect = chai.expect; 

let financials = { key: 160233, 
    data: 
    [ { companyId: 160233, 
     dataItemName: 'Cash and Cash Equivalents, Beginning of Period', 
     dataItemId: 2055, 
     dataItemvalueUSD: 207217000, 
     fiscalYear: 2016, 
     periodTypeId: 4, 
     fiscalQuarter: 4 }, 
    { companyId: 160233, 
     dataItemName: 'Preferred Dividend and Other Adjustments', 
     dataItemId: 97, 
     dataItemvalueUSD: 405000, 
     fiscalYear: 2016, 
     periodTypeId: 4, 
     fiscalQuarter: 4 }, 
    { companyId: 160233, 
     dataItemName: 'Basic Earnings Per Share - Total', 
     dataItemId: 3523, 
     dataItemvalueUSD: 0.43728, 
     fiscalYear: 2016, 
     periodTypeId: 4, 
     fiscalQuarter: 4 }, 
    { companyId: 160233, 
     dataItemName: 'Net Property Plant And Equipment', 
     dataItemId: 1004, 
     periodTypeId: 4, 
     dataItemvalueUSD: 123269000, 
     fiscalYear: 2016, 
     fiscalQuarter: 4 }, 
    { companyId: 160233, 
     dataItemName: 'Accounts Receivable, Total', 
     dataItemId: 1021, 
     dataItemvalueUSD: 892289000, 
     fiscalYear: 2016, 
     periodTypeId: 4, 
     fiscalQuarter: 4 }, 
    { companyId: 160233, 
     dataItemName: 'Net Income - (IS)', 
     dataItemId: 15, 
     dataItemvalueUSD: 65517000, 
     fiscalYear: 2016, 
     periodTypeId: 4, 
     fiscalQuarter: 4 }, 
    { companyId: 160233, 
     dataItemName: 'Accounts Payable, Total', 
     dataItemId: 1018, 
     dataItemvalueUSD: 246670000, 
     fiscalYear: 2016, 
     periodTypeId: 4, 
     fiscalQuarter: 4 }, 
    { companyId: 160233, 
     dataItemName: 'Interest Expense', 
     dataItemId: 208, 
     dataItemvalueUSD: -17878000, 
     fiscalYear: 2016, 
     periodTypeId: 4, 
     fiscalQuarter: 4 }]} 


describe('party financials mapper test suit:', function() { 

    it('should return an array of financials items', function() { 
     let doc = financialMapper.map(financials).value[0] 
     assert.isArray(doc); 
    }); 
    it('should return financials with period id equal to 4', function() { 
    let doc = financialMapper.map(financials).value[0] 
    assert.equal(doc[0].historical[0].periodTypeId,4); 
    }); 

    it('should return financials item with name equal to : <Interest Expense>', function() { 
     let docs= financialMapper.map(financials).value[0] 

     let doc = _.find(docs, (item)=>{ 
      return item.name==='Interest Expense' 
     }) 
     assert.isTrue(doc.name==='Interest Expense'); 
    }); 
    it('should return financials item with data item id equal to: <208>', function() { 
     let docs= financialMapper.map(financials).value[0] 

     let doc = _.find(docs, (item)=>{ 
      return item.name==='Interest Expense' 
     }) 
     assert.equal(doc.dataItemId,208); 
    }); 

    it('should return financials item with current value equal to :<-17878000>', function() { 
     let docs= financialMapper.map(financials).value[0] 

     let doc = _.find(docs, (item)=>{ 
      return item.name==='Interest Expense' 
     }) 
     assert.equal(doc.current,-17878000); 
    }); 

}); 

Antwort

0

ich verwendet habe, bevor this Paket geschrieben haben. Das Beispiel zeigt, wie man es für einen Winkelmesser einrichtet, aber man kann dasselbe mit Karma oder einem anderen Testläufer machen, den man benutzt. Stellen Sie es einfach als Reporter auf, so dass es die XML-Datei erstellt und dann den Build-Schritt hinzufügt, um die Ergebnisse zu veröffentlichen.

+0

Wird dieses Beispiel nur für eckige Projekte verwendet. Das Projekt, an dem ich arbeite, ist nodejs project – Tom

+0

Wie laufen Sie gerade? Ich habe es nur mit eckigen Einheitentests verwendet, die mit Karma laufen, aber es sollte mit jedem Testläufer funktionieren, der es erlaubt, einen Reporter zur Konfiguration hinzuzufügen. Andernfalls könnten Sie das Repo wahrscheinlich anpassen und für das anpassen, was Sie benötigen. – tehbeardedone

+0

Ich verwende keine eckige Anwendung. Ich habe eine Knoten-js-Anwendung erstellt. Ich führe die Befehle über die Eingabeaufforderung – Tom

Verwandte Themen