title: Flutter widget test does not trigger DropdownButton.onChanged when selecting another item
body: <p>I am writing a Flutter web app, and adding some widget tests to my codebase. I am having difficulty making flutter_test work as intended. The current problem I face is trying to select a value in a DropdownButton.</p>
  <p>Below is the complete widget test code that reproduces the problem:</p>
  <pre><code>void main() {
    group('description', () {
      testWidgets('description', (WidgetTester tester) async {
        await tester.pumpWidget(MaterialApp(
          home: Card(
            child: Column(
              children: [
                Expanded(
                  child: DropdownButton(
                    key: Key('LEVEL'),
                    items: [
                      DropdownMenuItem&lt;String&gt;(
                        key: Key('Greater'),
                        value: 'Greater',
                        child: Text('Greater'),
                      ),
                      DropdownMenuItem&lt;String&gt;(
                        key: Key('Lesser'),
                        value: 'Lesser',
                        child: Text('Lesser'),
                      ),
                    ],
                    onChanged: (value) {
                      print('$value');
                    },
                    value: 'Lesser',
                  ),
                )
              ],
            ),
          ),
        ));
  
        expect((tester.widget(find.byKey(Key('LEVEL'))) as DropdownButton).value,
            equals('Lesser'));
  
        await tester.tap(find.byKey(Key('LEVEL')));
  
        await tester.tap(find.byKey(Key('Greater')));
        await tester.pumpAndSettle();
  
        expect((tester.widget(find.byKey(Key('LEVEL'))) as DropdownButton).value,
            equals('Greater'));
      });
    });
  }
  </code></pre>
  <p>This test fails on the final expectation -- <code>expect(widget.value, equals('Greater'));</code></p>
  <p>The onChanged callback is never invoked, as I can see in the debugger, or looking for my print statement in the output.</p>
  <p>What is the magic to test the behavior of a DropdownButton?</p>