如何测试为客户端和服务器端制作的Dart包?

Nic*_*ich 5 testing dart

我正在创建一个提供客户端和服务器端代码的库.在进行测试时,我想测试双方的互动.

到目前为止,我至少有这个测试:

服务器端:

@TestOn("vm")
import "package:test/test.dart";
import "dart:io";
//...
void main() {
    HttpServer server = HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 4040)
    //.then()...
Run Code Online (Sandbox Code Playgroud)

客户方:

@TestOn("content-shell")
import "package:test/test.dart";
import "dart:html";
//...
void main(){
    //Interact with server at 4040
Run Code Online (Sandbox Code Playgroud)

如何使用单个命令运行所有测试?可能吗?

Nic*_*ich 3

如G\xc3\xbcnter 提供的文档中所述,在包的根目录中创建dart_test.yaml :

\n\n
#dart_test.yaml\n\n#run 2 test suites at the same time (I guess, that in 2 different cores)\nconcurrency: 2 \n
Run Code Online (Sandbox Code Playgroud)\n\n

现在运行

\n\n
\n

pub run test test/server.dart test/client.dart -pvm,content-shell

\n
\n\n

如果需要很长时间(通常在打开浏览器时),您可以添加到同一个配置文件中:

\n\n
timeout: none #or i.e., 1m 30s\n
Run Code Online (Sandbox Code Playgroud)\n\n

您还可以通过获取配置文件来保存命令的-pvm,content-shell部分:

\n\n
platforms:\n- vm\n- content-shell\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果这不起作用,您可以通过运行以下命令来节省我弄清楚到底发生了什么的时间:

\n\n
\n

酒吧缓存修复

\n
\n