2024-04-26 01:17:51 发布
网友
在我对django项目进行重大更改之后,我每隔一段时间运行一次python manage.py test。每当我在项目中更改和保存文件时,是否可以自动运行这些测试?早期检测bug会很有用(我知道rails在rspec中有类似的功能)。我用的是鼻子和长鼻子。提前谢谢。
python manage.py test
我是一个JavaScript开发人员,所以我使用JS开发人员用Node.JS构建的工具在我的项目中实现相同的目标。它非常简单,但是您还需要安装nodeJS才能使其正常工作。
我在项目根目录中创建了一个名为gruntfile.js的文件:
//gruntfile.js module.exports = function(grunt) { grunt.initConfig({ watch: { files: ['*.py'], tasks: ['shell'] }, shell: { test: { command: 'python main_test.py' } } }); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-shell'); grunt.registerTask('default', ['watch']); };
它所做的基本上是监视该目录中具有py扩展名的任何文件,如果它们更改了它,则执行一个shell命令,在本例中,这是我的python测试(您可能想更改它,我的测试名称是main_test.py)。为了运行这个grunt脚本,需要安装Node.js,然后在全局路径中有npm。之后,还需要检查几个节点模块。除了grunt cli之外,所有这些模块都将存储在当前文件夹中,因此请确保您位于项目的根目录或将gruntfile.js放在哪个文件夹中。然后运行衰减命令。
npm install grunt-cli -g npm install grunt npm install grunt-contrib-watch npm install grunt-shell
不用担心尺寸,这些都是很小的模块。现在您已经完成了所有的设置,您只需运行grunt,它就会开始监视您的py文件,当您保存它们时,它就会运行您的测试。这可能不是运行python测试的最佳方式,但正如我所说,我是JavaScript开发人员,而且我认为Grunt提供了一种非常简单的方式来执行测试,甚至对其他语言也是如此,所以我使用它。
grunt
py.测试答案(也适用于鼻子):
pip install pytest-xdist py.test -f # will watch all subfolders for changes, and rerun the tests
因为py.test了解鼻子,所以这也适用于鼻子。
使用entr:
$ find . -name '*.py' | entr python ./manage.py test
或者,要获得额外的积分,请将其与ack结合使用:
$ ack --python | entr python ./manage.py test
如果您希望它在添加新文件时找到它们:
$ until ack -f --python | entr -d python ./manage.py test; do sleep 1; done
我是一个JavaScript开发人员,所以我使用JS开发人员用Node.JS构建的工具在我的项目中实现相同的目标。它非常简单,但是您还需要安装nodeJS才能使其正常工作。
我在项目根目录中创建了一个名为gruntfile.js的文件:
它所做的基本上是监视该目录中具有py扩展名的任何文件,如果它们更改了它,则执行一个shell命令,在本例中,这是我的python测试(您可能想更改它,我的测试名称是main_test.py)。为了运行这个grunt脚本,需要安装Node.js,然后在全局路径中有npm。之后,还需要检查几个节点模块。除了grunt cli之外,所有这些模块都将存储在当前文件夹中,因此请确保您位于项目的根目录或将gruntfile.js放在哪个文件夹中。然后运行衰减命令。
不用担心尺寸,这些都是很小的模块。现在您已经完成了所有的设置,您只需运行
grunt
,它就会开始监视您的py文件,当您保存它们时,它就会运行您的测试。这可能不是运行python测试的最佳方式,但正如我所说,我是JavaScript开发人员,而且我认为Grunt提供了一种非常简单的方式来执行测试,甚至对其他语言也是如此,所以我使用它。py.测试答案(也适用于鼻子):
因为py.test了解鼻子,所以这也适用于鼻子。
使用entr:
或者,要获得额外的积分,请将其与ack结合使用:
如果您希望它在添加新文件时找到它们:
相关问题 更多 >
编程相关推荐