tl.testing

Screenshot Software:
tl.testing
Mga detalye ng Software:
Bersyon: 0.5
I-upload ang petsa: 15 Apr 15
Nag-develop: Thomas Lotze
Lisensya: Libre
Katanyagan: 5

Rating: nan/5 (Total Votes: 0)

tl.testing ay nagbibigay ng iba't-ibang mga utility na maaaring magamit kapag sumusulat ng pagsusulit. & Nbsp; Ito ay tugma sa Python bersyon 2.6 at 2.7.
Sandboxes ng mga direktoryo at mga file
Kapag sinusubukan ang code na nagbabago sa mga direktoryo at mga file, ito ay kapaki-pakinabang upang magagawang upang madaling lumikha at suriin ang isang sample puno ng mga direktoryo at mga file. Ang module tl.testing.fs nagbibigay ng suporta para sa paglikha ng isang puno mula sa isang paglalarawan tekstuwal, na naglilista ito sa parehong format at linisin pagkatapos mismo.
Sa isang doc na pagsubok, mga pasilidad na ito ay maaaring gamitin tulad nito upang lumikha at ilista sa isang direktoryo, ang isang file at isang link symbolic:
>>> Mula tl.testing.fs new_sandbox-import, l
>>> New_sandbox ("" ​​"
... D foo
... F foo / bar asdf
... L baz -> foo / bar
... "" ")
>>> L ()
l baz -> foo / bar
d foo
f foo / bar asdf
Tingnan ang mga file fs.txt natagpuan sa source code para sa higit pang payo, kabilang ang kung paano i-set up at pilasin pagsubok gamit sandboxes file na na-system.
Pag-install ng mga script callable
Ang ilang mga pag-andar ng isa maaaring gusto mong subukan ay gumagamit ng mga panlabas na mga programa tulad ng isang pager o isang editor ng teksto. Ang module tl.testing.script nagbibigay ng mga utility na i-install ang simpleng mga kunwaring mga script sa mga lugar kung saan ang code na sinubukan ay hanapin ang mga ito. Nagsasagawa sila ng isang string ng Python code at lumikha ng wrapper script na nagtatakda ng Python landas upang tumugma na ng pagsubok at nagpapatakbo ng code.
Ito ay kung paano maaaring magamit ang nasabing mga kunwaring script sa isang doc pagsubok:
>>> Mula tl.testing.script import-install
>>> Script_path =-install ("naka-print na 'Ang isang simpleng script.'")
>>>-Print bukas (script_path) .read ()
#! ...

-import sys
sys.path [:] = [...]

naka-print na 'Ang isang simpleng script.'
>>> Import subprocess
>>> Sub = subprocess.Popen (script_path, shell = True, stdout = subprocess.PIPE)
>>> Stdout, stderr = sub.communicate ()
>>>-Print stdout
Ang isang simpleng script.
Tingnan ang mga file script.txt natagpuan sa source code para sa higit pang mga posibilidad paano i-install at i-access ng mga kunwaring mga script pati na rin kung paano i-pilasin pagsusulit gamit ang mga kunwaring mga script.
Doc-sa pagsubok ng mga graphical na nilalaman ng Cairo surface
Habang ito ay straight-forward upang paghambingin ang nilalaman ng dalawang ibabaw Cairo sa Python code, paghawak ng mga graphics ay lampas pagsubok doc. Gayunpaman, ang Manuel pakete ay maaaring magamit upang i-extract ang mas pangkalahatang mga kaso pagsubok mula sa dokumento ng teksto habang pinapayagan upang makihalubilo sa mga ito sa mga pagsubok doc sa isang natural na paraan.
Ang module tl.testing.cairo ay nagbibigay ng isang pagsubok suite factory na gumagamit Manuel upang maisagawa graphical na mga pagsubok formulated bilang figure restructured-text. Ang caption ng nasabing figure ay dapat na maging isang literal na Python expression na kung saan ang halaga ay isang Cairo ibabaw, at imahe nito ay ginagamit bilang ang test inaasahan.
Ganito na maaaring inihambing sa isang pang-ibabaw na ang inaasahang imahe sa isang doc pagsubok:
>>> Import Cairo
>>> Mula pkg_resources import resource_filename
>>> Imahe = resource_filename ('tl.testing', 'testimages / correct.png')
.. Figure :: tl / pagsubok / testimages / correct.png
& Nbsp; `` cairo.ImageSurface.create_from_png (larawan) ``
Tingnan ang mga file cairo.txt natagpuan sa source code para sa karagdagang payo at dokumentasyon sa mga posibleng pagsubok output.
Paggawa gamit ang mga thread sa pagsubok code
Ang karaniwang TestCase klase ay hindi mangolekta ng mga error at mga pagkabigo na naganap sa iba pang mga thread kaysa sa pangunahing isa. Ang module tl.testing.thread nagbibigay ng mga klase sa thread at isang ThreadAwareTestCase klase upang payagan lamang iyon, pati na rin ang ilang iba pang mga kaluwagan para sa mga pagsubok na haharapin ang mga thread: pumipigil inaasahang unhandled eksepsiyon sa mga thread mula sa pagiging naka-print sa pagsubok output, pag-uulat thread naiwan sa pamamagitan ng isang pagsubok, pagtakbo code sa isang demonyo thread, ang pagsali sa mga thread at pagbibilang ng mga thread na nagsimula sa panahon ng oras ng pagsubok ni run:
>>> Oras ng pag-import
>>> Import tl.testing.thread
>>> Klase SampleTest (tl.testing.thread.ThreadAwareTestCase):
...
... Def test_error_in_thread_should_be_reported (sa sarili):
... Na may tl.testing.thread.ThreadJoiner (1):
... Self.run_in_thread (lambda: 1/0)
...
... Def test_active_count_should_count_only_new_threads (sa sarili):
... Na may tl.testing.thread.ThreadJoiner (1):
... Self.run_in_thread (lambda: time.sleep (0.1))
... Self.assertEqual (1, self.active_count ())
... Self.assertEqual (0, self.active_count ())
>>> Import unittest
>>> Run (unittest.makeSuite (SampleTest))
================================================== ====================
ERROR: test_error_in_thread_should_be_reported (__builtin __ SampleTest.)
-------------------------------------------------- --------------------
Traceback (pinakahuling tawag huling):
& Nbsp; ...
ZeroDivisionError: integer division o modulo sa pamamagitan ng zero
-------------------------------------------------- --------------------
Tumakbo 2 mga pagsubok sa N.NNNs
FAILED (mga error = 1)
Tingnan ang mga file thread.txt natagpuan sa source code para sa mga karagdagang detalye ng ThreadAwareTestCase class.
bumubuo ka ng mga test suite na gumagamit Manuel
Bilang Manuel ay nagbibigay ng ilang mga makapangyarihang mga tampok sa karagdagan sa karaniwang doctests, Manuel test suite naka-set up bahagyang naiiba mula sa karaniwang mga bago. Ang tl.testing.doctest module na nagpapatupad ng DocFileSuite factory na maaaring magamit tulad ng isang karaniwang ngunit ay lumilikha ng isang pagsubok suite na gamit Manuel at nagbibigay-daan sa ilang mga karagdagang configuration na may kaugnayan sa Manuel, kasama ng mga ito ng kakayahan upang bigyang-kahulugan ang mga footnote na ginamit upang gawin gamit ang hindi na ginagamit zope.testing.doctest:
>>> Sample_txt = write ('sample.txt', "" "
... [#footnote] _
... >>> X
... 1
...
... .. [#footnote]
... >>> X = 1
... "" ")
>>> Mula tl.testing.doctest DocFileSuite pag-import
>>> Run (DocFileSuite (sample_txt, mga footnote = True))
-------------------------------------------------- --------------------
Tumakbo 1 pagsubok sa N.NNNs
OK
>>> Sample_txt = write ('sample.txt', "" "
... .. Code-block :: python
... X = 1
...
... >>> X
... 1
... "" ")
>>> Import manuel.codeblock
>>> Run (DocFileSuite (sample_txt, Manuel = manuel.codeblock.Manuel ()))
-------------------------------------------------- --------------------
Tumakbo 1 pagsubok sa N.NNNs
OK

Mga Kinakailangan :

  • Python

Katulad na software

QSnipps
QSnipps

12 May 15

py.saunter
py.saunter

20 Feb 15

jenkviz
jenkviz

14 Apr 15

Attest
Attest

14 Apr 15

Iba pang mga software developer ng Thomas Lotze

tl.pkg
tl.pkg

15 Apr 15

Ophelia
Ophelia

15 Apr 15

Mga komento sa tl.testing

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!