如何在pytest中测试单个文件?我只能在文档中找到忽略选项,而没有“仅测试此文件”选项。最好这将在命令行而不是setup.cfg上工作,因为我想在ide中运行不同的文件测试。整个套件花费的时间太长。 最佳答案 只需使用文件路径运行pytest类似pytest测试/test_file.py使用::语法在测试文件中运行特定的测试:pytesttest_mod.py::test_func这里的test_func可以是一个测试方法或者一个类(例如:pytesttest_mod.py::TestClass)。更多方式和详情见"Specify
我试图了解这两种模拟方法之间的区别。有人可以帮助区分它们吗?对于这个例子,我使用passlib库。frompasslib.contextimportCryptContextfromunittestimportmockwithmock.patch.object(CryptContext,'verify',return_value=True)asfoo1:mycc=CryptContext(schemes='bcrypt_sha256')mypass=mycc.encrypt('test')assertmycc.verify('tesssst',mypass)withmock.patch(
在我尝试学习TDD的过程中,尝试学习单元测试并在python中使用mock。慢慢掌握它,但不确定我是否正确执行此操作。预先警告:我坚持使用python2.4,因为供应商API是作为预编译的2.4pyc文件提供的,所以我使用的是mock0.8.0和unittest(不是unittest2)鉴于'mymodule.py'中的示例代码importldapclassMyCustomException(Exception):passclassMyClass:def__init__(self,server,user,passwd):self.ldap=ldap.initialize(server)
我正在尝试使用pythonmockmoduleMock一个函数(返回一些外部内容).我在模拟导入模块的函数时遇到了一些问题。例如,在util.py我有defget_content():return"stuff"我想模拟util.get_content以便它返回其他内容。我正在尝试这个:util.get_content=Mock(return_value="mockedstuff")如果get_content在另一个模块中被调用,它实际上似乎永远不会返回模拟对象。在如何使用Mock方面我是否遗漏了什么?请注意,如果我调用以下内容,则一切正常:>>>util.get_content=Moc
我正在使用selenium进行端到端测试,但我不知道如何使用setup_class和teardown_class方法。我需要在setup_class方法中设置浏览器,然后执行一系列定义为类方法的测试,最后在teardown_class方法中退出浏览器。但从逻辑上讲,这似乎是一个糟糕的解决方案,因为实际上我的测试不适用于类,而是对象。我在每个测试方法中传递self参数,所以我可以访问对象的变量:classTestClass:defsetup_class(cls):passdeftest_buttons(self,data):#self.$attributecanbeused,butnot
我正在使用Python开发一个包。我使用虚拟环境。我在virtualenv中的.pth路径中将路径设置为模块的根目录,这样我就可以在开发代码并进行测试时导入包的模块(问题1:这是一个好方法吗?)。这很好用(这是一个例子,这是我想要的行为):(VEnvTestRc)zz@zz:~/Desktop/GitFolders/rc$pythonPython2.7.12(default,Jul12016,15:12:24)[GCC5.4.020160609]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>
我在测试一个Django应用程序时尝试使用富有想象力的Mocktestinglibrary来模拟一些东西。.我似乎无法让它工作,我正在尝试这样做:models.pyfromsomelibimportFooClassclassPromotion(models.Model):foo=models.ForeignKey(FooClass)defbar(self):print"DosomethingIdon'twant!"test.pyclassViewsDoSomething(TestCase):view='my_app.views.do_something'deftest_enter_pr
所以我尝试使用unittest.mock在我的单元测试中模拟我的一些方法。我愿意:fromunittest.mockimportMagicMockf=open("data/static/mock_ffprobe_response")subprocess.check_output=MagicMock(return_value=f.read())f.close()但我得到了:ImportError:Nomodulenamedmock我试过了:pipinstallmock还是不行。 最佳答案 unittest是一个内置模块;mock是一个
如何使用pytest对float进行assertmostequal而不诉诸于:assertx-0.00001更具体地说,了解一个快速比较浮点对的简洁解决方案将很有用,而无需解包:assert(1.32,2.4)==i_return_tuple_of_two_floats() 最佳答案 我注意到这个问题专门询问了pytest。pytest3.0包含一个approx()function(嗯,真的是类)对于这个目的非常有用。importpytestassert2.2==pytest.approx(2.3)#fails,defaultis±
我正在使用mock使用Python并想知道这两种方法中哪一种更好(阅读:更多Pythonic)。方法一:只需创建一个模拟对象并使用它。代码如下:deftest_one(self):mock=Mock()mock.method.return_value=Trueself.sut.something(mock)#Thisshouldcalledmock.methodandcheckstheresult.self.assertTrue(mock.method.called)方法二:使用patch创建mock。代码如下:@patch("MyClass")deftest_two(self,moc