带着密码
import unittest
import logging
class LoggingTest(unittest.TestCase):
def test_that_logs(self):
logging.warning("Hello")
logging.info("World")
for a in xrange(100000000000000000):
pass
我得到了一个意想不到的输出:
$ nosetests --version
nosetests versio
我有一个由excel单元格组成的列表,使用的是python --比如说listlist。单元格/列表中的每个元素都是unicode。当我将列表打印为
print listlist
我看到列表中的每个成员前面都有“u”。但是当我像这样打印列表时
for member in listlist:
print member
我看不到成员前面有'u‘。
有人能给我解释一下为什么会有这样的区别吗?它在xlrd模块中定义了吗?
考虑以下项目结构:
a.py
test/
test_a.py
使用test_a.py导入模块a
import a
正如预期的那样,在nosetests目录中运行test会导致导入错误:
ERROR: Failure: ImportError (No module named a)
但是,我注意到在test目录中添加一个空的test文件可以使nosetests导入工作(但当您使用nosetests运行test_a.py时就不行了)。你能解释一下为什么吗?
我理解添加__init__.py使test成为一个包。但这是否意味着导入包含查找中包含包的目录?
请注意以下行为:
a = u"foo"
b = u"b\xe1r" # \xe1 is an 'a' with an accent
s = [a, b]
print a, b
print s
for x in s: print x,
结果是:
foo bár
[u'foo', u'b\xe1r']
foo bár
当我只是打印位于变量a和b中的两个值时,我得到了预期的结果;当我将字符串值放入列表中并打印它时,我得到了不需要的u"xyz"表单;最后,当我用循环打印列表中的值时,我又得到了第一个表
正如中所解释的,我正在使用Python的鼻子,并且我已经将我的一些测试标记为“慢”。
在运行nosetests时,我希望默认跳过所有“慢”测试,也就是说,不必编写nosetests -a '!slow'。但我希望能够在显式运行这些测试或编写nosetests -a 'slow'时运行这些测试。
我如何才能做到这一点?
如果我调用一个测试脚本
nosetests -a tag1='one'
有没有办法在我的脚本中打印tag1的用户输入?
@attr(tag1=['one', 'two', 'three', 'four'])
def test_real_logic(self):
#how to print the user input here
我怀疑我没有正确安装nosetest。我使用的是easy_install -输出是
Searching for nose
Best match: nose 1.0.0
Processing nose-1.0.0-py2.7.egg
nose 1.0.0 is already the active version in easy-install.pth
Installing nosetests-script.py script to C:\Python27\Scripts
Installing nosetests.exe script to C:\Python27\Scripts
Install