[根据/sf/answers/3245896181/,标题应参考集成测试而不是单元测试]
假设我想测试以下Flask API(从这里开始):
import flask
import flask_restful
app = flask.Flask(__name__)
api = flask_restful.Api(app)
class HelloWorld(flask_restful.Resource):
def get(self):
return {'hello': 'world'}
api.add_resource(HelloWorld, '/')
if __name__ == "__main__":
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
将此保存flaskapi.py并运行后,在同一目录中运行脚本test_flaskapi.py:
import unittest
import flaskapi
import requests
class TestFlaskApiUsingRequests(unittest.TestCase):
def test_hello_world(self):
response = requests.get('http://localhost:5000')
self.assertEqual(response.json(), {'hello': 'world'})
class TestFlaskApi(unittest.TestCase):
def setUp(self):
self.app = flaskapi.app.test_client()
def test_hello_world(self):
response = self.app.get('/')
if __name__ == "__main__":
unittest.main()
Run Code Online (Sandbox Code Playgroud)
两个测试都通过了,但对于第二个测试(在TestFlaskApi类中定义),我还没有弄清楚如何断言JSON响应是否符合预期(即{'hello': 'world'}).这是因为它是一个实例flask.wrappers.Response(可能基本上是一个Werkzeug响应对象(参见http://werkzeug.pocoo.org/docs/0.11/wrappers/)),但我找不到相应的Response …
我读到关于这个论点许多老问题,我认为最好的做法是设置了一个cookie username,user_id并随机令牌.
在创建cookie时,相同cookie的数据存储在DB中,当用户拥有cookie时,它们将被比较(cookie数据,DB数据).
如果这是真正的最佳实践,我真的无法理解安全逻辑在哪里.
窃取cookie的攻击者与原始用户具有相同的cookie:|
忘了一步?:P
sudo apt-get update在ubuntu 17.04 Zesty Zapus上运行时,我收到以下错误.我发布了错误行.我想安装像matplotlib和tkinter这样的python库,因为上面的命令没有成功运行,因此无法安装.请建议我做什么.
Err:9 http://security.ubuntu.com/ubuntu zesty-security/main amd64 Packages
404 Not Found [IP: 2001:67c:1560:8001::14 80]
Err:25 http://in.archive.ubuntu.com/ubuntu zesty/main i386 Packages
404 Not Found [IP: 2001:67c:1360:8001::21 80]
Err:81 http://in.archive.ubuntu.com/ubuntu zesty-updates/main amd64 Packages
404 Not Found [IP: 2001:67c:1360:8001::21 80]
Err:113 http://in.archive.ubuntu.com/ubuntu zesty-backports/main amd64 Packages
404 Not Found [IP: 2001:67c:1360:8001::21 80]
Reading package lists... Done
W: The repository 'http://security.ubuntu.com/ubuntu zesty-security Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially …Run Code Online (Sandbox Code Playgroud) 我在某个device.go文件中定义了一个结构
type Payload struct {
...
Timestamp *time.Time `json:"timestamp,omitempty"`
...
}
Run Code Online (Sandbox Code Playgroud)
现在我想在其他文件中初始化这个结构,我正在尝试这个:
payload:= &device.Payload{
....
Timestamp: time.Now(), // throws error
... //other initializations work fine
}
Run Code Online (Sandbox Code Playgroud)
不能使用 time.Now()(time.Time 类型的值)作为结构体中的 *time.Time 值
我想将变量初始化为当前的 UTC 时间。我是 golang 的新手。我怎么做?