我正在使用py.test运行一组测试.他们过去了.开心辞典!但我收到这条消息:
Exception KeyError: KeyError(4427427920,) in <module 'threading' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.pyc'> ignored
Run Code Online (Sandbox Code Playgroud)
我应该如何追查其来源?(我不是直接使用线程,而是使用gevent.)
我正在尝试使用富有想象力的Mock测试库测试Django应用程序时嘲笑某些东西.我似乎无法让它工作,我正在尝试这样做:
models.py
from somelib import FooClass
class Promotion(models.Model):
foo = models.ForeignKey(FooClass)
def bar(self):
print "Do something I don't want!"
test.py
class ViewsDoSomething(TestCase):
view = 'my_app.views.do_something'
def test_enter_promotion(self):
@patch.object(my_app.models.FooClass, 'bar')
def fake_bar(self, mock_my_method):
print "Do something I want!"
return True
self.client.get(reverse(view))
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我试图使用norecursedirs
setup.cfg中的选项告诉py.test不要从某些目录中收集测试,但它似乎确实忽略了它.
[tool:pytest]
norecursedirs=lib/third
Run Code Online (Sandbox Code Playgroud)
当我跑步时,py.test
我确实看到它是如何从内部进行测试的lib/third
!
我试图在文档的任何文本节点中找到某个文本,到目前为止我的语句如下所示:
doc.xpath("//text() = 'Alliance Consulting'") do |node|
...
end
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,任何人都可以提出更好的选择吗?
我正在尝试在Rails中编写Rspec测试,使用Devise帮助方法进行登录和注销.sign_in方法无效.但是,在对应用程序进行一系列更改之前,它已经提前工作了.
我尝试过的事情:
到目前为止,没有骰子.使用已登录用户测试控制器需要做些什么?
错误信息:
OrderItemsController GET #index renders the :index view
Failure/Error: sign_in :admin
NoMethodError:
undefined method `sign_in' for # <RSpec::ExampleGroups::OrderItemsController_2::GETIndex:0x00000102c002d0>
# ./spec/controllers/order_items_controller_spec.rb:6:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)
控制器规格
require 'spec_helper'
describe OrderItemsController do
before (:each) do
admin = create(:admin)
sign_in :admin
end
describe "GET #index" do
it "renders the :index view" do
get :index
expect( response ).to render_template :index
end
end
end
Run Code Online (Sandbox Code Playgroud)
spec_helper.rb
require 'rspec/rails'
require 'capybara/rspec'
RSpec.configure do |config|
config.include ApplicationHelper
config.include …
Run Code Online (Sandbox Code Playgroud) 如何在使用py.test
+ 时获得准确的测试覆盖率报告gevent
?
我已经尝试了使用pytest-cov
插件的显而易见的事情,py.test
但是当gevent正在使用时它会生成不准确的报告.
根据 AWS Amplify 文档:
amplify push
。amplify push
为每个@model 创建一个 DynamoDB 表似乎很清楚。
我的问题与架构更新有关:
database-migration amazon-web-services amazon-dynamodb graphql aws-amplify
给定一个容器运行的dyno,Heroku相当于docker exec -it blarg /bin/bash
什么?也就是说,如何在已经运行的容器中打开shell?
示例Dockerfile:
FROM heroku/heroku:16
CMD while true; do sleep 1; done
Run Code Online (Sandbox Code Playgroud)
示例运行:
$ heroku container:push my_app
<wait a minute>
$ heroku ps
=== my_app (Free): /bin/sh -c while\ true\;\ do\ sleep\ 1\;\ done (1)
my_app.1: up 2017/10/09 12:13:07 -0600 (~ 4m ago)
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.
但现在...
$ heroku ps:exec --dyno=my_app.1
Establishing credentials... error
? Could not connect to dyno!
? Check if the dyno is running with `heroku ps'
Run Code Online (Sandbox Code Playgroud)
为了更好的衡量,我heroku ps
在这一点检查,它表明dyno仍然在运行.
是的,我已经完成了Heroku建议启用Docker支持的所有功能.每文档,我已经用我选择的基本图像,同时确保试过 …
我已经产生了一个Greenlet并将其链接到一个可调用的.一段时间后,Greenlet因异常而失败.链接的callable被调用.这一切都很棒!
这是问题所在:
正如您所期望的那样,我的控制台上会出现异常的回溯.但我想在链接的callable中使用该回溯做一些事情.如何在链接的callable中访问该回溯?
(我的第一直觉就是使用traceback.extract_stack()
,但事实证明它为链接的callable本身而不是Exception提供了追溯.)