2011-12-15 13 views
5

NetBeans पर मेरी सी परियोजना का परीक्षण करने की कोशिश कर रहा, परीक्षण कभी नहीं खत्म करते हुए उत्पादन होता है:NetBeans Cunit परीक्षण मामलों अंत कभी नहीं

Test: testFileOne ...passed Test: testFileTwo ...passed 

Run Summary: Type Total Ran Passed Failed Inactive 
       suites  1  1 n/a  0  0 
       tests  2  2  2  0  0 
       asserts  8  8  8  0  n/a 

Elapsed time = 0.000 seconds 

यहां तक ​​कि अगर यह पूरा हो रहा है, प्रगति बार अभी भी मान 0.0 पर चमक रहा है %। प्रत्येक कार्य के लिए एक से अधिक CU_ASSERT साथ

void testMethod() { 
    CU_ASSERT(1 == 1); 
    //other lines of code.. 
    CU_ASSERT(0 == 0); 
} 

:

टेस्ट मामलों सब की तरह हैं। नेटबीन द्वारा ऑटो-जेनरेटेड टेस्ट कोड के साथ कुछ व्यवहार।

आदेश

make test 

कमांड लाइन से एक charme तरह काम करता है और कोई समस्या नहीं के साथ समाप्त होता है।

किसी से पहले इस समस्या का सामना करना पड़ा है? मेरे लैपटॉप को छेड़छाड़ किए बिना हल करने का कोई तरीका? प्रत्येक टिप्पणी के लिए अग्रिम धन्यवाद।

+0

बस एक जंगली अनुमान:: यदि आप अपने परीक्षण मामलों में किसी भी धागे शुरू करो कि न करना पड़े जब यहाँ अपने परीक्षण की तरह दिखना चाहिए कैसे (या तो आप सादे वेनिला सी या Cunit जैसे कुछ लाइब्रेरी का उपयोग कर रहे हैं) है परीक्षण नियमित रूप से समाप्त होता है? – DerTroglodyt

+0

जोड़ें printf को फांसी पर नज़र रखने और देखते हैं कि इकाई परीक्षण वास्तव में बाहर निकलता है। –

उत्तर

1

आप पता लगाने के लिए क्या होता है एक डिबगर (उदाहरण, gdb) का उपयोग कर सकते हैं।

इस झंडे डिबगिंग अपने Cunit कोड में जोड़े जाने की आवश्यकता होगी। मान लीजिए कि आप जीसीसी का उपयोग कर रहे हैं, यह -जी ध्वज होगा।

डिबगिंग झंडे के साथ संकलन करने के बाद आप बस डिबगर, जिस तरह से आप एक सामान्य कार्यक्रम डिबग चाहते हैं के साथ साथ परीक्षण द्विआधारी शुरू कर सकते हैं।

1

ऐसा लगता है कि Netbeans टेस्ट सुइट को रोकने के लिए एक निश्चित निर्देश एक की आवश्यकता है और यह वास्तव में printf("%%SUITE_FINISHED%% time=0\n"); है।

#include <stdio.h> 
#include <stdlib.h> 

void test1() { 
    // do your stuff 
} 

int main(int argc, char** argv) { 
    printf("%%SUITE_STARTING%% mysimpletest\n"); 
    printf("%%SUITE_STARTED%%\n"); 

    printf("%%TEST_STARTED%% test1 (mysimpletest)\n"); 
    test1(); 
    printf("%%TEST_FINISHED%% time=0 test1 (mysimpletest) \n"); 

    printf("%%SUITE_FINISHED%% time=0\n"); 

    return (EXIT_SUCCESS); 
} 
संबंधित मुद्दे