E D R , A S I H C RSS

Cxx Test

http://cxxtest.sourceforge.net
C++ ˜ ๊ฒฝšฐ๋Š” –ธ–ดฐจ›—„œ˜ ๋ฆฌ”Œ๋ž™…˜„ ง€›•˜ง€ •Š๊ธฐ ๋•Œ๋ฌธ— …ŒŠคŠธ๋ฅผ ถ”๊ฐ€•˜๋Š” ๋ถ€๋ถ„ด ž๋ฐ”๋‚˜ ŒŒดฌ ๋“— ๋น„•ด ƒ๋‹นžˆ ๊ท€ฐฎ๋‹ค. ๊ทธ— ๋Œ€•œ ๋Œ€•ˆœผ๋กœ CUT ๋“˜ C UnitTestFramework ˜ ๊ฒฝšฐ ™ธ๋ถ€—„œ Perl ๋“œผ๋กœ ž‘„•œ Šคฌ๋ฆฝŠธ–ธ–ด๋กœ …ŒŠคŠธ‹ค–‰๊ณผ ๊ด€๋ จ•œ Runner ๋ฅผ ฝ”๋“œ œ๋„ˆ๋ ˆดŒ…•˜๋Š” ๋ฐฉ๋ฒ•„ “ฐ๊ณ  žˆ๋‹ค.

CxxUnit€ CUT˜ C++๋ฒ„ „ด๋ผ ๋ด๋„ •ฝ๊ฐ„ ƒ†ต•˜๋ฆฌ๋ผ ๋ณธ๋‹ค.(˜ค๋ž˜๋˜๊ธฐ๋Š” CxxUnit ด ๋” ˜ค๋ž˜๋˜—ˆ๋˜๊ธ๋กœ ๊ธฐ–ต) Python ด๋‚˜ Perl ˜ ฝ”๋“œ œ๋„ˆ๋ ˆด„Šคฌ๋ฆฝŠธ๋ฅผ ดšฉ, Runner™”ผ„ ๋งŒ๋“ค–ดค€๋‹ค. ด๋ฅผ ปดŒŒผ•˜—ฌ ‹ค–‰•˜๋ฉด …ŒŠคŠธ๊ฐ€ ‹ค–‰๋œ๋‹ค.


1002˜ ๊ฒฝšฐ š”ƒˆ CxxUnit „ ‚ฌšฉค‘. ๋ฐ‘˜ Šคฌ๋ฆฝŠธ๋ฅผ Visual Studio ˜ Tools(ผข…˜ External Tools)— —ฐ๊ฒฐ‹œผœ๋†“๊ณ  “ด๋‹ค. Tool „ ‹ค–‰•˜—ฌ ฝ”๋“œ œ๋„ˆ๋ ˆดŒ… •œ๋’ค, ปดŒŒผ. (cxxtestgen.py ๋Š” CxxTest •ˆ— žˆ๋‹ค.) ™”ผ ด๋ฆ„ด Test ๋กœ ๋๋‚˜๋Š” ™”ผ๋“ค„ ๋“๋ก•ดค€๋‹ค.

~cpp 
from os import *
from os.path import *

def toStr(aList):
    return ' '.join(aList)

def main():
    testFiles = []
    for eachFile in listdir("."):
        if isfile(eachFile):
            lastestPeriod = eachFile.rfind(".")
            fileName = eachFile[:lastestPeriod]
            extension = eachFile[lastestPeriod+1:]
            if fileName.endswith("Test"):
                print fileName, extension 
                testFiles.append(eachFile)
    '''cmd= "python cxxtestgen.py --runner=ParenPrinter --gui=Win32Gui -o runner.cpp "+toStr(testFiles)'''

    cmd= "python cxxtestgen.py --runner=ParenPrinter -o runner.cpp "+toStr(testFiles)
    print cmd
    system(cmd)

if __name__=="__main__":
    main()


๋‹จ ด žˆ๋‹ค๋ฉด …ŒŠคŠธ ƒ†ด •ˆ๋œ๋‹ค๋Š”  ด๋‹ค. ๊ฐœธ œผ๋กœ MockObject ๋งŒ๋“ค–ด ธ„Ž˜ดŠค …ŒŠคŠธ ๋งŒ๋“ ๋’ค RealObject ๋ฅผ ๋งŒ๋“ค–ด …ŒŠคŠธ•˜๋Š” ๊ฒฝšฐ๊ฐ€ ๋งŽ€ ๋งŒผ ๊ท€ฐฎ๋‹ค. (…ŒŠคŠธ˜ ค‘๋ณตœผ๋กœ ด–ดง€๋ฏ€๋กœ) –ด‘.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:04
Processing time 0.0100 sec