टाइपप्रति में Unittesting

वोट
36

मैं जानता हूँ कि, टाइपप्रति एक दिन पुराना है। लेकिन मैं `उत्सुक अगर यहाँ है somekind इकाई परीक्षण ढांचे या जिस तरह से कैसे लिखने के लिए और टाइपप्रति के लिए रन इकाई परीक्षण?

टाइपप्रति जावास्क्रिप्ट को संकलित किया जा सकता है और मुझे लगता है कि जावास्क्रिप्ट के लिए परीक्षण लिख सकते हैं, लेकिन यह `नहीं है कि मैं क्या चाहता हूँ।

02/10/2012 को 19:18
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
20

टाइपप्रति एक रनटाइम भाषा नहीं है। अपने टाइपप्रति कोड निष्पादित करने से पहले आपको जावास्क्रिप्ट को यह संकलन करने की जरूरत है; एक ही परीक्षण करने के लिए लागू होता है। आपका परीक्षण टाइपप्रति में भी हो सकता है, जावास्क्रिप्ट में दोनों संकलन और परीक्षण निष्पादित करने के लिए अपने पसंदीदा परीक्षण ढांचे का उपयोग।

02/10/2012 को 19:32
का स्रोत उपयोगकर्ता

वोट
16

आप टाइपप्रति या JavaScript में अपनी इकाई परीक्षण लिख सकते हैं, मौजूदा JavaScript इकाई परीक्षण चौखटे में से किसी का उपयोग कर।

बहुत जल्द ही, मैं कल्पना मौजूदा व्यवस्थाएं टाइपप्रति परिवेश परिभाषा फ़ाइलें मिल जाएगा (अद्यतन - वे हैं: http://definitelytyped.org/ ) है, जो उन्हें स्थिर जहाँ तक टाइपप्रति संबंध है टाइप किया कर देगा। इस दौरान, आप परिवेश घोषणा पर पढ़ सकते हैं और अपने परीक्षण के शुरू में अपने खुद के कुछ जोड़ने की जरूरत हो सकती है।

वैकल्पिक रूप से, आप उपयोग कर सकते tsUnit टाइपप्रति यूनिट परीक्षण फ्रेमवर्क तो यह टाइपप्रति साथ अच्छा खेलता है (और जावास्क्रिप्ट में भी इस्तेमाल किया जा सकता) - है, जो एक इकाई परीक्षण रूपरेखा टाइपप्रति में लिखा है।

02/10/2012 को 22:31
का स्रोत उपयोगकर्ता

वोट
0

लगता है एक और परीक्षण धावक / ढांचे नजरबंद कहा जाता है। https://theintern.github.io/

यहाँ टाइपप्रति के साथ संयुक्त एक लेख है कि यह कैसे उपयोग करने के लिए समझा है: https://www.sitepen.com/blog/2015/03/24/testing-typescript-with-intern/

बहुत आशाजनक लगता है जब आप टाइपप्रति का उपयोग कर रहे हैं और आप एक इकाई के परीक्षण सेटअप है कि स्रोत नक्शे का समर्थन करता है के लिए देख रहे हैं।

उदाहरण टेस्ट:

import registerSuite = require('intern!object');
import assert = require('intern/chai!assert');
// Assume that we now have a version of our model in TypeScript:
import SimpleTodoModel = require('todo/model/SimpleTodoModel');

registerSuite({
    name: 'SimpleTodoModel',
    // Assume we have a promises interface defined
    'default data'() {
        var emptyModel = new SimpleTodoModel(),
            id:string = emptyModel.get('id'),
            length:number = emptyModel.get('todos').length,
            incomplete:number = emptyModel.get('incomplete'),
            complete:number = emptyModel.get('complete');
        assert.strictEqual(id, 'todos-dojo',
                    'Id should default to "todos-dojo"');
        assert.strictEqual(length, 0,
                    'Todos array should default to an empty array.');
        assert.strictEqual(incomplete, 0,
                    'Incomplete count should default to 0.');
        assert.strictEqual(complete, 0,
                    'Incomplete count should default to 0.');
    }
});
30/09/2015 को 16:50
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more