diff --git a/pkg/dartdev/test/commands/fix_test.dart b/pkg/dartdev/test/commands/fix_test.dart
index 4da8ddb..7778a0e 100644
--- a/pkg/dartdev/test/commands/fix_test.dart
+++ b/pkg/dartdev/test/commands/fix_test.dart
@@ -11,5 +11,53 @@
 }
 
 void defineFix() {
-  // todo (pq): add tests when the `fix` command is enabled.
+  TestProject p;
+
+  setUp(() => p = null);
+
+  tearDown(() => p?.dispose());
+
+  test('none', () {
+    p = project(mainSrc: 'int get foo => 1;\n');
+    var result = p.runSync('fix', [p.dirPath]);
+    expect(result.exitCode, 0);
+    expect(result.stderr, isEmpty);
+    expect(result.stdout, contains('Nothing to fix!'));
+  });
+
+  test('no args', () {
+    p = project(
+      mainSrc: '''
+var x = "";
+''',
+      analysisOptions: '''
+linter:
+  rules:
+    - prefer_single_quotes
+''',
+    );
+    var result = p.runSync('fix', [], workingDir: p.dirPath);
+    expect(result.exitCode, 0);
+    expect(result.stderr, isEmpty);
+    expect(result.stdout, contains('Fixed 1 files.'));
+  });
+
+  test('.', () {
+    p = project(
+      mainSrc: '''
+var x = "";
+''',
+      analysisOptions: '''
+linter:
+  rules:
+    - prefer_single_quotes
+''',
+    );
+    var result = p.runSync('fix', ['.'], workingDir: p.dirPath);
+    expect(result.exitCode, 0);
+    expect(result.stderr, isEmpty);
+    expect(result.stdout, contains('Fixed 1 files.'));
+  });
+
+  // todo (pq): add tests for analyzer excludes, ignores, etc.
 }
diff --git a/tools/VERSION b/tools/VERSION
index bd8a9fd..15291f9 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 11
 PATCH 0
-PRERELEASE 241
+PRERELEASE 242
 PRERELEASE_PATCH 0
\ No newline at end of file
