我有以下申请和测试:
app.py
import json
from app import app
def test_this_should_work():
test_client = app.test_client()
rv = test_client.get('/')
assert json.loads(rv.data.decode()) == {'hello': 'world'}
test_app.py
python app.py
尽管我可以从Application告诉我,我的代码应该可以工作并返回其他字典。但是,它没有。您可以通过py.test
或{"yep": "this worked"}
(如果您安装py.test)运行它,并且您会发现两次都返回import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class MainApp extends Application
{
@Override
public void start(Stage stage) throws Exception
{
FlowPane flow = new FlowPane();
flow.setPrefSize(900, 30);
Label label = new Label("Zoom 1.5");
Label labelStat = new Label("Users 7");
Label labelSec = new Label("Connected");
flow.getChildren().addAll(label, labelStat, labelSec);
HBox hb = new HBox();
hb.getChildren().add(flow);
Scene scene = new Scene(hb);
stage.setTitle("JavaFX and Maven");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args)
{
launch(args);
}
}
。
这里出了点问题 - 我错过了什么?
答案 0 :(得分:5)
这不是Flask的问题,which does send the custom encoder。这就是Python的json库的工作方式。只有在无法识别被转储的对象时,才会调用default
函数。由于您要转储字符串,这是图书馆识别的类型,因此它只是按原样转储。
如果要转换数据,请在序列化之前进行转换。