README FOR IDLE TESTS IN IDLELIB.IDLE_TEST
1. Test Files
The idle directory, idlelib, has over 60 xyz.py files. The idle_test
subdirectory should contain a test_xyy.py for each. (For test modules, make
'xyz' lower case, and possibly shorten it.) Each file should start with the
something like the following template, with the blanks after after '.' and 'as',
and before and after '_' filled in.
---
import unittest
from test.support import requires
import idlelib. as
class _Test(unittest.TestCase):
def test_(self):
if __name__ == '__main__':
unittest.main(verbosity=2, exit=2)
---
Idle tests are run with unittest; do not use regrtest's test_main.
Once test_xyy is written, the following should go at the end of xyy.py,
with xyz (lowercased) added after 'test_'.
---
if __name__ == "__main__":
import unittest
unittest.main('idlelib.idle_test.test_', verbosity=2, exit=False)
---
2. Gui Tests
Gui tests need 'requires' from test.support (test.test_support in 2.7). A
test is a gui test if it creates a Tk root or master object either directly
or indirectly by instantiating a tkinter or idle class. For the benefit of
test processes that either have no graphical environment available or are not
allowed to use it, gui tests must be 'guarded' by "requires('gui')" in a
setUp function or method. This will typically be setUpClass.
To avoid interfering with other gui tests, all gui objects must be destroyed
and deleted by the end of the test. If a widget, such as a Tk root, is created
in a setUpX function, destroy it in the corresponding tearDownX. For module
and class attributes, also delete the widget.
---
@classmethod
def setUpClass(cls):
requires('gui')
cls.root = tk.Tk()
@classmethod
def tearDownClass(cls):
cls.root.destroy()
del cls.root
---
Support.requires('gui') causes the test(s) it guards to be skipped if any of
a few conditions are met:
- The tests are being run by regrtest.py, and it was started without
enabling the "gui" resource with the "-u" command line option.
- The tests are being run on Windows by a service that is not allowed to
interact with the graphical environment.
- The tests are being run on Mac OSX in a process that cannot make a window
manager connection.
- tkinter.Tk cannot be successfully instantiated for some reason.
- test.support.use_resources has been set by something other than
regrtest.py and does not contain "gui".
Since non-gui tests always run, but gui tests only sometimes, tests of non-gui
operations should best avoid needing a gui. Methods that make incidental use of
tkinter (tk) variables and messageboxes can do this by using the mock classes in
idle_test/mock_tk.py. There is also a mock text that will handle some uses of the
tk Text widget.
3. Running Tests
Assume that xyz.py and test_xyz.py end with the "if __name__" statements given
above. In Idle, pressing F5 in an editor window with either loaded will run all
tests in the test_xyz file with the version of Python running Idle. The test
report and any tracebacks will appear in the Shell window. The options in these
"if __name__" statements are appropriate for developers running (as opposed to
importing) either of the files during development: verbosity=2 lists all test
methods in the file; exit=False avoids a spurious sys.exit traceback that would
otherwise occur when running in Idle. The following command lines also run
all test methods, including gui tests, in test_xyz.py. (The exceptions are that
idlelib and idlelib.idle start Idle and idlelib.PyShell should (issue 18330).)
python -m idlelib.xyz # With the capitalization of the xyz module
python -m idlelib.idle_test.test_xyz
To run all idle_test/test_*.py tests, either interactively
('>>>', with unittest imported) or from a command line, use one of the
following. (Notes: in 2.7, 'test ' (with the space) is 'test.regrtest ';
where present, -v and -ugui can be omitted.)
>>> unittest.main('idlelib.idle_test', verbosity=2, exit=False)
python -m unittest -v idlelib.idle_test
python -m test -v -ugui test_idle
python -m test.test_idle
The idle tests are 'discovered' by idlelib.idle_test.__init__.load_tests,
which is also imported into test.test_idle. Normally, neither file should be
changed when working on individual test modules. The third command runs
unittest indirectly through regrtest. The same happens when the entire test
suite is run with 'python -m test'. So that command must work for buildbots
to stay green. Idle tests must not disturb the environment in a way that
makes other tests fail (issue 18081).
To run an individual Testcase or test method, extend the dotted name given to
unittest on the command line.
python -m unittest -v idlelib.idle_test.test_xyz.Test_case.test_meth
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z 刚下载的,热乎乎的呢! 解决exec: "gcc": executable file not found in %PATH% 问题; 参考:https://www.cnblogs.com/zsy/p/5958170.html
资源推荐
资源详情
资源评论
收起资源包目录
x86_64-8.1.0-release-posix-seh-rt_v6-rev0-.zip (2000个子文件)
scardssp_p.c 48KB
xxmodule.c 12KB
cdoex_i.c 7KB
tkAppInit.c 4KB
cdosys_i.c 4KB
msinkaut_i.c 3KB
agtsvr_i.c 3KB
agtctl_i.c 3KB
iisext_i.c 3KB
scardssp_i.c 3KB
config.c 2KB
cdoexm_i.c 2KB
mtsadmin_i.c 2KB
mtxadmin_i.c 2KB
emostore_i.c 2KB
tsuserex_i.c 1KB
pdb.doc 8KB
mshtml.h 8.17MB
mshtmlc.h 2.33MB
shobjidl.h 1.45MB
sapi54.h 1.06MB
sapi53.h 1.05MB
sapi51.h 924KB
tuner.h 801KB
strmif.h 777KB
glext.h 761KB
xpsobjectmodel.h 607KB
msxml2.h 596KB
sqlite3.h 519KB
iads.h 513KB
objidl.h 491KB
avx512fintrin.h 475KB
d3d11.h 452KB
tapi3if.h 449KB
activdbg.h 445KB
wmsdkidl.h 417KB
avx512vlintrin.h 413KB
comsvcs.h 413KB
wdm.h 409KB
urlmon.h 393KB
wbemdisp.h 377KB
mshtmdid.h 373KB
mqoai.h 365KB
oledb.h 351KB
wmidata.h 349KB
shldisp.h 345KB
rtccore.h 342KB
wdstptmgmt.h 328KB
winnt.h 327KB
msctf.h 323KB
d3drmobj.h 319KB
bdaiface.h 316KB
msinkaut.h 300KB
cdoex.h 292KB
msclus.h 287KB
exdisp.h 287KB
ocidl.h 283KB
msxml.h 275KB
d3d11_3.h 271KB
wincodec.h 269KB
mfobjects.h 266KB
bfd.h 257KB
ntifs.h 256KB
cluscfgserver.h 251KB
msopc.h 248KB
objidlbase.h 244KB
adoint_backcompat.h 243KB
adoint.h 243KB
azroles.h 240KB
uianimation.h 240KB
basic_string.h 235KB
glcorearb.h 234KB
wincrypt.h 232KB
d3d11_1.h 224KB
d3d10.h 216KB
winuser.h 216KB
oaidl.h 214KB
gpmgmt.h 211KB
stl_algo.h 209KB
dimm.h 208KB
winerror.h 200KB
taskschd.h 199KB
safestack.h 198KB
wbemcli.h 196KB
xenroll.h 196KB
propsys.h 196KB
commctrl.h 173KB
ntddndis.h 172KB
obj_mac.h 172KB
random.h 171KB
ksmedia.h 169KB
tclDecls.h 166KB
mmc.h 165KB
agtsvr.h 160KB
ndis.h 160KB
fsrm.h 160KB
oleidl.h 158KB
d3d9.h 158KB
netfw.h 157KB
agtctl.h 156KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
林语卿
- 粉丝: 20
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功