飞镖单元测试不起作用

时间:2013-03-06 02:48:20

标签: unit-testing dart

我的单元测试在Dartium中没有显示任何内容。它应该显示单元测试结果,但它没有显示任何内容。我的代码如下:

import "package:unittest/unittest.dart";
import "package:unittest/html_config.dart";
import "../../bolsaviaje/web/bolsaviaje.dart" as bolsaviaje;

void main() {
  useHtmlConfiguration();
  test("PackItem constructor", (){
    var item = new bolsaviaje.Cosa("Towel");
    expect(item,isNotNull);
  });

  test("PackItem itemtext propery",(){
    var item = new bolsaviaje.Cosa("Towel");
    expect(item.nombre,equals("Towel"));
  });
}

我的pubspec.yaml如下:

name: PackListTest
description: A sample web application
dependencies:
  unittest: any

我的pubspec.lock如下:

    # Generated by pub. See: http://pub.dartlang.org/doc/glossary.html#lockfile
     {"packages":{"unittest":{"version":"0.4.1","source":"hosted","description":"unittest"},"meta":{"version":"0.4.1+1","source":"hosted","description":"meta"}}}

我用于单元测试的HTML文件的内容如下:

<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8">
    <title>PackListTest</title>
    <link rel="stylesheet" href="packlisttest.css">
  </head>
  <body>
    <script type="application/dart" src="packlisttest.dart"></script>
  </body>
</html>

我正在使用的Dart版本是Dart M3。

我在两者中都没有获得任何内容:Dartium控制台中没有任何内容,并且生成的html中没有任何内容。

我不得不说我有两个项目:一个是Web应用程序,另一个是我的单元测试项目。

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:1)

您需要将以下内容添加到HTML

<script src="packages/browser/dart.js"></script>

并将以下依赖项添加到pubspec.yaml

dependencies:
  browser: any

Dartium现在也使用dart.js来引导应用程序。

答案 1 :(得分:0)

我已经解决了我的问题。我采取了两个行动。第一个是将我的单元测试移动到我的应用程序所在的文件夹中。第二个是将这一行添加到第1行的.dart应用程序文件中:

library "whatever"

库的名称是什么并不重要,因为在我的.dart单元测试文件中我写道:

import "bolsaviaje.dart"

这是我的应用程序的名称

如果您遇到同样的问题,我希望此解决方案可以为您提供帮助。

另一方面,我不知道是否存在与将应用程序和单元测试放在两个不同文件夹中相关的约束。