【发布时间】:2018-08-09 15:45:26
【问题描述】:
我有一个使用source_gen 制作的代码生成器。它工作正常,但我想添加测试。
我遵循文档并从built_value 获得灵感,使用来自build_test 的testBuilder。
问题是,当使用testBuilder 时,它无法正确解析导入。因此会引发错误并且不会触发我的生成器。
错误:资产的第 1 行,第 91 列:example/lib/src/truc.dart:无法解析 foo() 的注释 → 动态\n'
这是我目前的测试尝试:
import 'package:source_gen/source_gen.dart';
import 'package:test/test.dart';
import 'package:build_test/build_test.dart';
import 'package:my_gen/my_gen.dart';
const input = {
"example|lib/src/foo.dart": '''
import 'package:my_gen/my_gen.dart';
import 'package:flutter/material.dart';
@stateless
Widget foo() {
return Center();
}
'''
};
void main() {
test('', () async {
await testBuilder(SharedPartBuilder([MyGenerator], "stateless"), input, outputs: {
"example|lib/src/foo.stateless.g.part": '''
// **************************************************************************
// StatelessGenerator
// **************************************************************************
class Foo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return foo();
}
}
'''
});
});
}
如何使testBuilder 正确解析导入;并最终由发电机测试?
【问题讨论】:
标签: dart