tl.testing

Software screenshot:
tl.testing
Rincian Software:
Versi: 0.5
Tanggal Upload: 15 Apr 15
Pengembang: Thomas Lotze
Lisensi: Gratis
Popularitas: 5

Rating: nan/5 (Total Votes: 0)

tl.testing menyediakan berbagai utilitas yang dapat digunakan saat menulis tes & nbsp;. Hal ini kompatibel dengan Python versi 2.6 dan 2.7.
kotak pasir direktori dan file
Ketika pengujian kode yang mengubah direktori dan file, hal ini berguna untuk dapat membuat dan memeriksa pohon sampel direktori dan file dengan mudah. Para tl.testing.fs modul menyediakan dukungan untuk menciptakan sebuah pohon dari deskripsi tekstual, daftar itu dalam format yang sama dan membersihkan setelah itu sendiri.
Dalam tes doc, fasilitas ini dapat digunakan seperti ini untuk membuat dan daftar direktori, file dan symbolic link:
>>> Dari tl.testing.fs impor new_sandbox, ls
>>> New_sandbox ("" ​​"
... D foo
... F foo / bar asdf
... L baz -> foo / bar
... "" ")
>>> Ls ()
l baz -> foo / bar
d foo
f foo / bar asdf
Lihat fs.txt file yang ditemukan dengan kode sumber untuk saran lebih lanjut, termasuk cara mengatur dan meruntuhkan tes menggunakan kotak pasir file system.
Instalasi script callable
Beberapa fungsi yang mungkin ingin menguji memanfaatkan program eksternal seperti pager atau editor teks. Modul tl.testing.script menyediakan utilitas yang menginstal script mock sederhana di tempat-tempat di mana kode yang akan diuji akan menemukan mereka. Mereka mengambil serangkaian kode Python dan membuat script wrapper yang menetapkan jalur Python untuk cocok dengan tes dan menjalankan kode.
Ini adalah bagaimana sebuah skrip tiruan dapat digunakan dalam tes doc:
>>> Dari impor tl.testing.script instalasi
>>> Script_path = install ("print 'A script sederhana.'")
>>> Print terbuka (script_path) .read ()
#! ...

sys impor
sys.path [:] = [...]

print 'A script sederhana. "
>>> Impor subproses
>>> Sub = subprocess.Popen (script_path, shell = True, stdout = subprocess.PIPE)
>>> Stdout, stderr = sub.communicate ()
>>> Print stdout
Sebuah script sederhana.
Lihat script.txt file yang ditemukan dengan kode sumber untuk kemungkinan lebih jauh cara menginstal dan akses script mengejek serta bagaimana untuk meruntuhkan tes menggunakan script tiruan.
Doc-menguji konten grafis dari permukaan Kairo
Sementara itu lurus ke depan untuk membandingkan isi dari dua permukaan Kairo dalam kode Python, penanganan grafis luar tes doc. Namun, paket manuel dapat digunakan untuk mengekstrak kasus uji yang lebih umum dari dokumen teks sementara memungkinkan untuk mencampur mereka dengan tes doc dengan cara alami.
Modul tl.testing.cairo menyediakan pabrik test suite yang menggunakan manuel untuk melaksanakan tes grafis dirumuskan sebagai tokoh direstrukturisasi-teks. Caption dari sosok seperti itu seharusnya menjadi ekspresi Python literal yang nilainya adalah permukaan Kairo, dan citra yang digunakan sebagai harapan tes.
Ini adalah bagaimana permukaan dapat dibandingkan dengan gambar yang diharapkan dalam tes doc:
>>> Impor Kairo
>>> Dari pkg_resources impor resource_filename
>>> Image = resource_filename ('tl.testing', 'testimages / correct.png')
.. :: Sosok tl / pengujian / testimages / correct.png
& Nbsp; `` cairo.ImageSurface.create_from_png (image) ``
Lihat cairo.txt file yang ditemukan dengan kode sumber untuk saran dan dokumentasi dari output uji kemungkinan lebih lanjut.
Bekerja dengan benang dalam kode test
Kelas TestCase standar tidak mengumpulkan kesalahan dan kegagalan yang terjadi pada benang selain yang utama. Modul tl.testing.thread menyediakan kelas benang dan kelas ThreadAwareTestCase untuk memungkinkan hal itu, serta beberapa kemudahan lainnya untuk tes yang berhubungan dengan benang: mencegah pengecualian tertangani diharapkan dalam benang dari yang dicetak dengan output tes, benang pelaporan tertinggal dengan tes, menjalankan kode di thread daemon, bergabung benang dan menghitung thread yang dimulai selama uji di run time:
>>> Waktu impor
>>> Impor tl.testing.thread
>>> Kelas SampleTest (tl.testing.thread.ThreadAwareTestCase):
...
... Def test_error_in_thread_should_be_reported (self):
... Dengan tl.testing.thread.ThreadJoiner (1):
... Self.run_in_thread (lambda: 1/0)
...
... Def test_active_count_should_count_only_new_threads (self):
... Dengan 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 (paling panggilan terakhir terakhir):
& Nbsp; ...
ZeroDivisionError: pembagian integer atau modulo dengan nol
-------------------------------------------------- --------------------
Ran 2 tes di N.NNNs
GAGAL (kesalahan = 1)
Lihat file thread.txt ditemukan dengan kode sumber untuk informasi lebih lanjut dari kelas ThreadAwareTestCase.
Membangun test suite yang menggunakan manuel
Seperti manuel menyediakan beberapa fitur canggih selain doctests standar, test suite manuel ditetapkan sedikit berbeda dari yang standar. Modul tl.testing.doctest mengimplementasikan sebuah pabrik DocFileSuite yang dapat digunakan seperti yang standar tetapi menciptakan test suite menggunakan manuel dan memungkinkan beberapa konfigurasi tambahan yang terkait dengan manuel, di antaranya kemampuan untuk menafsirkan catatan kaki yang digunakan harus dilakukan dengan menggunakan usang zope.testing.doctest:
>>> Sample_txt = write ('sample.txt', "" "
... [#footnote] _
... >>> X
... 1
...
... .. [#footnote]
... >>> X = 1
... "" ")
>>> Dari tl.testing.doctest impor DocFileSuite
>>> Run (DocFileSuite (sample_txt, catatan kaki = True))
-------------------------------------------------- --------------------
Ran 1 tes di N.NNNs
OKE
>>> Sample_txt = write ('sample.txt', "" "
... .. Kode-blok :: python
... X = 1
...
... >>> X
... 1
... "" ")
>>> Impor manuel.codeblock
>>> Run (DocFileSuite (sample_txt, manuel = manuel.codeblock.Manuel ()))
-------------------------------------------------- --------------------
Ran 1 tes di N.NNNs
OK

Persyaratan :

  • Python

Software yang serupa

PyHamcrest
PyHamcrest

11 May 15

PyModel
PyModel

11 May 15

Linux Test Project
Linux Test Project

12 May 15

matchmaker
matchmaker

14 Apr 15

Perangkat lunak lain dari pengembang Thomas Lotze

Ophelia
Ophelia

15 Apr 15

tl.pkg
tl.pkg

15 Apr 15

Komentar untuk tl.testing

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!