1
我有文件web_server.dart一些代碼,這是擺在斌文件夾:飛鏢單元測試的pgsql查詢錯誤
import 'dart:async';
import 'package:redstone/server.dart' as app;
import 'package:redstone_mapper/mapper.dart';
import 'package:redstone_mapper/plugin.dart';
import 'package:redstone_mapper_pg/manager.dart';
import 'package:shelf/shelf.dart' as shelf;
main() {
var uri = "postgres://rpss:@10.10.10.10:5432/rty";
var dbManager = new PostgreSqlManager(uri, min: 1, max: 3);
app.addPlugin(getMapperPlugin(dbManager));
app.setupConsoleLog();
app.start(address: '127.0.0.1', port: 8100);
}
PostgreSql get pgsql => app.request.attributes.dbConn;
Future getNextPlanId() {
return pgsql.query("select smth from table1", String);
}
有一個名爲web_server_test.dart在另一個鏢文件測試文件夾:
library web_server_test;
import 'package:unittest/unittest.dart';
import 'dart:async';
import '../bin/web_server.dart';
void main() {
group('test1',() {
test("Step 1: must be PASS",(){
return getNextPlanId().then((onValue){
expect(onValue, hasLength(4));
});
});
});
}
當我運行web_server_test.dart文件,我得到一個錯誤:
測試失敗:被捕獲null對象沒有getter'屬性'。
NoSuchMethodError:找不到方法:'attributes'
我嘗試運行web_server.dart或停止運行。錯誤正在上升。
我不知道如何解決您的問題,只是一個建議。不要使用相對路徑從其他頂級目錄導入。如果要從其他頂級目錄導入代碼,請將代碼移動到'lib'目錄,並使用像import'package:my_package/server.dart';'這樣的包導入。 –