mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
refactorings to testbed.run and testbed.test (#44488)
This commit is contained in:
parent
9acf10541b
commit
7caef218b5
@ -16,20 +16,14 @@ import '../../src/common.dart';
|
||||
import '../../src/testbed.dart';
|
||||
|
||||
void main() {
|
||||
Testbed testbed;
|
||||
MockBuildSystem mockBuildSystem;
|
||||
Cache.disableLocking();
|
||||
|
||||
setUp(() {
|
||||
mockBuildSystem = MockBuildSystem();
|
||||
testbed = Testbed(overrides: <Type, Generator>{
|
||||
BuildSystem: () => mockBuildSystem,
|
||||
Cache: () => FakeCache(),
|
||||
});
|
||||
final Testbed testbed = Testbed(overrides: <Type, Generator>{
|
||||
BuildSystem: () => MockBuildSystem(),
|
||||
Cache: () => FakeCache(),
|
||||
});
|
||||
|
||||
test('Can run a build', () => testbed.run(() async {
|
||||
when(mockBuildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig')))
|
||||
testbed.test('Can run a build', () async {
|
||||
when(buildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig')))
|
||||
.thenAnswer((Invocation invocation) async {
|
||||
return BuildResult(success: true);
|
||||
});
|
||||
@ -38,30 +32,30 @@ void main() {
|
||||
final BufferLogger bufferLogger = logger;
|
||||
|
||||
expect(bufferLogger.traceText, contains('build succeeded.'));
|
||||
}));
|
||||
});
|
||||
|
||||
test('Throws ToolExit if not provided with output', () => testbed.run(() async {
|
||||
when(mockBuildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig')))
|
||||
testbed.test('Throws ToolExit if not provided with output', () async {
|
||||
when(buildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig')))
|
||||
.thenAnswer((Invocation invocation) async {
|
||||
return BuildResult(success: true);
|
||||
});
|
||||
final CommandRunner<void> commandRunner = createTestCommandRunner(AssembleCommand());
|
||||
|
||||
expect(commandRunner.run(<String>['assemble', 'debug_macos_bundle_flutter_assets']), throwsA(isInstanceOf<ToolExit>()));
|
||||
}));
|
||||
});
|
||||
|
||||
test('Throws ToolExit if called with non-existent rule', () => testbed.run(() async {
|
||||
when(mockBuildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig')))
|
||||
testbed.test('Throws ToolExit if called with non-existent rule', () async {
|
||||
when(buildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig')))
|
||||
.thenAnswer((Invocation invocation) async {
|
||||
return BuildResult(success: true);
|
||||
});
|
||||
final CommandRunner<void> commandRunner = createTestCommandRunner(AssembleCommand());
|
||||
|
||||
expect(commandRunner.run(<String>['assemble', '-o Output', 'undefined']), throwsA(isInstanceOf<ToolExit>()));
|
||||
}));
|
||||
});
|
||||
|
||||
test('Only writes input and output files when the values change', () => testbed.run(() async {
|
||||
when(mockBuildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig')))
|
||||
testbed.test('Only writes input and output files when the values change', () async {
|
||||
when(buildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig')))
|
||||
.thenAnswer((Invocation invocation) async {
|
||||
return BuildResult(
|
||||
success: true,
|
||||
@ -86,8 +80,7 @@ void main() {
|
||||
expect(inputs.lastModifiedSync(), theDistantPast);
|
||||
expect(outputs.lastModifiedSync(), theDistantPast);
|
||||
|
||||
|
||||
when(mockBuildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig')))
|
||||
when(buildSystem.build(any, any, buildSystemConfig: anyNamed('buildSystemConfig')))
|
||||
.thenAnswer((Invocation invocation) async {
|
||||
return BuildResult(
|
||||
success: true,
|
||||
@ -99,7 +92,7 @@ void main() {
|
||||
expect(inputs.readAsStringSync(), contains('foo'));
|
||||
expect(inputs.readAsStringSync(), contains('fizz'));
|
||||
expect(inputs.lastModifiedSync(), isNot(theDistantPast));
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
class MockBuildSystem extends Mock implements BuildSystem {}
|
||||
|
Loading…
Reference in New Issue
Block a user