2013-08-26 8 views
11

मैं कुछ डार्ट लाइब्रेरी लिख रहा हूं और इसे अनचाहे करना चाहता हूं। मैंने निर्देशिका test बनाई और यहां अपने परीक्षण डालना चाहते हैं। क्योंकि मेरे पास बहुत सारे परीक्षण होने जा रहे हैं, मैं उन्हें कई फाइलों में अलग करना चाहता हूं। मेरे सवाल यह है कि डार्ट सम्मेलन क्या है, यह कैसे करें। मैं अपने परीक्षणों को आसानी से चलाने के लिए चाहता हूं, हालांकि, मैं केवल परीक्षणों की एक फ़ाइल चलाने में सक्षम होना चाहता हूं।एकाधिक फ़ाइलों में डार्ट में एकाधिक unittests कैसे लिखें?

आपके सुझाव क्या हैं?

उत्तर

13

कई फ़ाइलों में परीक्षण अलग करना आम है। मैं एक उदाहरण भी शामिल कर रहा हूं कि आप इसे कैसे कर सकते हैं।

कल्पना कीजिए कि आपके पास परीक्षण के साथ 2 फाइलें हैं, foo_test.dart, bar_test.dart जिसमें आपके प्रोग्राम के लिए परीक्षण शामिल हैं। foo_test.dart कुछ इस तरह दिखाई दे सकता है:

library foo_test; 

import 'package:unittest/unittest.dart'; 

void main() { 
    test('foo test',() { 
    expect("foo".length, equals(3)); 
    }); 
} 

और bar_test.dart कुछ इस तरह दिखाई दे सकता है:

library bar_test; 

import 'package:unittest/unittest.dart'; 

void main() { 
    test('bar test',() { 
    expect("bar".length, equals(3)); 
    }); 
} 

आप चलाने या तो फ़ाइल सकता है, और परीक्षण है कि फाइल में निहित पर अमल होगा ।

, मैं all_tests.dart फ़ाइल की तरह कुछ बनाउंगा जो foo_test.dart और bar_test.dart से परीक्षण आयात करेगा। यहाँ की तरह all_tests.dart क्या देख सकता है:

import 'foo_test.dart' as foo_test; 
import 'bar_test.dart' as bar_test; 

void main() { 
    foo_test.main(); 
    bar_test.main(); 
} 

आप all_tests.dart मार डाला, तो दोनों foo_test.dart और bar_test.dart से परीक्षण को अंजाम होगा।

ध्यान देने योग्य एक बात: यह सब काम करने के लिए, आपको foo_test.dart और bar_test.dart को पुस्तकालयों के रूप में घोषित करने की आवश्यकता है (प्रत्येक फ़ाइल की पहली पंक्ति देखें)। फिर, all_tests.dart में, आप घोषित पुस्तकालयों की सामग्री लाने के लिए आयात वाक्यविन्यास का उपयोग कर सकते हैं।

इस प्रकार मैं अपने अधिकांश परीक्षणों को व्यवस्थित करता हूं।

+0

यह बहुत बढ़िया है, धन्यवाद! – JesterXL

2

परीक्षण को अलग करने के लिए एकाधिक फ़ाइलों को रखना आवश्यक नहीं है - Running only a single test और Running a limited set of tests देखें।

एक परीक्षण को अलग करने के लिए, test()solo_test() पर बदलें।

तो आप अपने सभी परीक्षण एक ही फ़ाइल (या कई हिस्सों में) में डाल सकते हैं।

1

एक उपकरण है जो वास्तव में, Dart Test Runner करता है। उस पृष्ठ से एक अंश:

डार्ट टेस्ट रनर स्वचालित रूप से सही वातावरण (वीएम या ब्राउज़र) में अपने डार्ट प्रोजेक्ट में सभी परीक्षणों का पता लगाएगा और चलाएगा।

यह _test.dart साथ प्रत्यय एक फ़ाइल में लिखा किसी भी परीक्षा का पता लगाता है, जहां अपने परीक्षण कोड एक main() समारोह के अंदर है। unittest परीक्षणों का पता लगाने और चलाने में कोई समस्या नहीं है।

इसे इंस्टॉल करना और इसे चलाने में बहुत आसान है।बस दो आदेश:

$ pub global activate test_runner 
$ pub global run test_runner 

अधिक विकल्पों के लिए, कृपया Dart Test Runner पृष्ठ देखें।

संबंधित मुद्दे