草庐IT

test-driven-development-with-refa

全部标签

python - 使用 setup.py test 和 tox 运行 Django 测试

我构建了一个Django应用程序,并使用setuptools将其打包。现在,我想做以下事情:我想使用pythonsetup.pytest运行所有测试。但是当我发出这个命令时,我得到:/usr/lib/python2.7/distutils/dist.py:267:UserWarning:Unknowndistributionoption:'install_requires'warnings.warn(msg)usage:setup.py[global_opts]cmd1[cmd1_opts][cmd2[cmd2_opts]...]or:setup.py--help[cmd1cmd2..

python - 日期时间 : conversion from string with timezone name not working

我有以下字符串"2017-03-3008:25:00CET"我想将其转换为datetimetz-aware对象。根据thisSOquestion,从python3.2开始,它可以只使用datetime模块来完成。此外,来自documentation,我明白了%z|UTCoffsetintheform+HHMMor-HHMM(emptystringiftheobjectisnaive).|(empty),+0000,-0400,+1030%Z|Timezonename(emptystringiftheobjectisnaive).|(empty),UTC,EST,CST所以我尝试以下da

python - "Open with..."Windows 上的文件,带有 python 应用程序

我想弄清楚如何在用户右键单击文件并选择“打开方式”时让python程序打开文件。例如,我希望用户能够右键单击文本文件并选择我的程序,以便我的程序可以处理该文本文件。文本文件的名称是否以某种方式传递到我的程序中?谢谢。 最佳答案 我的方法是使用包含pythonsomeprogram.py%1的重定向.bat文件。%1将文件路径传递给可以使用访问的python脚本从sys导入argvargv[1] 关于python-"Openwith..."Windows上的文件,带有python应用程序,

python - 自己的类使用with语句需要注意什么?

我计划使用方便的with为我的一个Python类实现类似C++的构造函数/析构函数功能陈述。到目前为止,我只针对文件IO遇到过此语句,但我认为它对基于连接的通信任务也很有帮助,比如sockets或databaseconnections.最终需要关闭的东西。在PEP343(上面链接)中说,with需要方法__enter__和__exit__,以及我的直接实现这似乎按预期工作。classMyConnection:def__init__(self):passdef__enter__(self):print"constructor"#TODO:openconnectionsandstuff#m

python - py.test 运行 Python2 和 Python3

我编写了一个包(http://github.com/anntzer/parsedcmd),它可以在Python2和Python3上运行。但是,我不得不为Python2和Python3编写单独的(py.test)单元测试(主要是因为我想测试Python3的额外功能,特别是仅关键字参数),所以我有一个test_py2.py和一个test_py3.py在test分包。现在,如果我跑,说py.test2mypkg,test_py2通过,但是test_py3失败并显示SyntaxError.同样,对于py.test3mypkg,test_py3通过但test_py2失败(虽然我可以让这个工作,这

python - Django 数据迁移在运行 manage.py test 时失败,但在运行 manage.py migrate 时失败

我有一个看起来像这样的Django1.7迁移:#-*-coding:utf-8-*-from__future__importunicode_literalsfromdjango.dbimportmodels,migrationsdefunits_to_m2m(apps,schema_editor):Interval=apps.get_model("myapp","Interval")IntervalUnit=apps.get_model("myapp","IntervalUnit")forintervalinInterval.objects.all():IntervalUnit(int

python - 为什么 map 像 izip_longest with fill=None 一样工作?

当map具有不同长度的输入时,None的填充值用于缺少的输入:>>>x=[[1,2,3,4],[5,6]]>>>map(lambda*x:x,*x)[(1,5),(2,6),(3,None),(4,None)]这与以下行为相同:>>>importitertools>>>list(itertools.izip_longest(*x))[(1,5),(2,6),(3,None),(4,None)]map提供此行为而不是以下行为的原因是什么?>>>map(lambda*x:x,*x)[(1,5),(2,6),(3,),(4,)]...有没有一种简单的方法可以通过zip或map的形式获得后一种

python Pandas : Add column to grouped DataFrame with method chaining

首先让我说我是pandas的新手。我正在尝试在DataFrame中创建一个新列。我能够按照我的示例中所示执行此操作。但我想通过链接方法来做到这一点,所以我不必分配新变量。首先让我展示一下我想要实现的目标,以及到目前为止我做了什么:In[1]:importnumpyasnpfrompandasimportSeries,DataFrameimportpandasaspdIn[2]:np.random.seed(10)df=pd.DataFrame(np.random.randint(1,5,size=(10,3)),columns=list('ABC'))dfOut[2]:ABC22141

python - 片状 8 : "multiple statements on one line (colon)" only for variable name starting with "if"

我在VisualStudioCode中使用flake8,使用Python3.6variableannotations编写一些代码.到目前为止它没有任何问题,但我遇到了一个奇怪的警告。这很好用:style:str="""width:100%;..."""#Doingsthwith`style`这也是:img_style:str="""width:100%;..."""#Doingsthwith`img_style`但这并没有,它会产生以下警告:iframe_style:str="""width:100%;..."""#Doingsthwith`iframe_style`嗯,从技术上讲它确

python - nosetests 框架 : how to pass environment variables to my tests?

我有一个测试套件,它作为一个更大的构建框架的一部分执行,是用Python编写的。一些测试需要参数,我想使用环境变量传递这些参数。显然nosetestsrunner有一个env参数,它可以满足我的要求,accordingtothedocumentation.然而,它似乎并没有像预期的那样工作?这里有一个最小的测试脚本来举例说明这个问题:#!/usr/bin/envpython#pipinstallnoseimportos,nose,unittestclassTest(unittest.TestCase):deftest_env(self):self.assertEquals(os.env