我目前正在构建一个小型 Web 应用程序来提高我的技能,作为其中的一部分,我正在尝试全面采用最佳实践、测试、CI、架构良好、干净的代码,所有这些。在过去的几个会议中,我一直在努力测试我的根路由,而不是通过路由函数返回一个字符串,我正在渲染一个模板,我已经让它工作了,但我没有理解它为什么起作用,这让我很困扰。
主要是使用 b,在我的断言字符串之前,我认为这与我渲染的不是字符串,而是 html 表示的事实有关,类似于 return 和 print 之间的区别,但我是朦胧,很感激有人来教我。
我要问的行是 test_homepage_response 函数的第 4 行。以及它是如何运作的。特别是关于我收到的这个错误:
ERROR: test_home_welcome_return (tests.home_page_tests.HomePageTestClass)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/xibalba/code/reel/tests/home_page_tests.py", line 31, in test_home_welcome_return
self.assertIn(u"Welcome to Reel!", response.data)
File "/usr/local/lib/python3.6/unittest/case.py", line 1077, in assertIn
if member not in container:
TypeError: a bytes-like object is required, not 'str'
Run Code Online (Sandbox Code Playgroud)
# Test Suite
import unittest
from reel import app
from reel.views import home_welcome
class HomePageTesttClass(unittest.TestCase):
@classmethod
def setupClass(cls):
pass
@classmethod
def tearDownClass(cls):
pass
def …Run Code Online (Sandbox Code Playgroud) 我找到了以下 Twisted 请求处理程序的示例。我不清楚这个isLeaf属性是做什么用的。为什么要在资源上设置它?
from twisted.internet import reactor
from twisted.web.server import Site
from twisted.web.resource import Resource
class RequestHandler(Resource):
isLeaf = True
def render_GET(self, request):
request.setResponseCode(200)
return "HelloWorld"
if __name__ == '__main__':
resource = RequestHandler()
factory = Site(resource)
reactor.listenTCP(8001, factory)
reactor.run()
Run Code Online (Sandbox Code Playgroud) 我最近在考虑标准库并在编程中使用它们.我想知道调用库,我听到很多关于依赖关系和管理它们的讨论,以免不必要的模块和诸如此类的东西使程序过载.所以我想知道在使用标准库中的函数和模块时是否有额外的资源使用负载/增加.
例如,如果我编写的程序完全由标准的lib函数构成,而不是我自己的代码(意味着我有大量的import语句),我会看到性能下降吗?或者是每个程序加载的标准库,无论它是否被调用?因此它是标准库的一部分.
谢谢你们,如果我还不够清楚,我很乐意详细说明我的问题.