How to write Unit tests in Flutter using the AAA pattern

  Рет қаралды 308

Runtime Snippets

Runtime Snippets

Күн бұрын

Пікірлер: 13
@abdulbari7246
@abdulbari7246 5 ай бұрын
already excited for the advanced version of unit testing😍
@runtimesnippets
@runtimesnippets 5 ай бұрын
I am glad you liked it!
@runtimesnippets
@runtimesnippets 5 ай бұрын
Working on the next video!
@TylerCodes
@TylerCodes 5 ай бұрын
Hey, this was a really well put together video! Thanks!
@runtimesnippets
@runtimesnippets 5 ай бұрын
Glad you liked it!
@asbahumais655
@asbahumais655 4 ай бұрын
Wonderful!
@runtimesnippets
@runtimesnippets 4 ай бұрын
Glad you like it!
@HistoryBits95
@HistoryBits95 5 ай бұрын
Love it!!
@runtimesnippets
@runtimesnippets 4 ай бұрын
Glad you like it
@lucas.marianno
@lucas.marianno 4 ай бұрын
Great video again! Would you mind further explaining why loops in tests are a bad idea? Following your other video on TDD, I came up with the following test: ```dart test("return 'Fizz' for multiples of 3", () { // arrange const inputs = [3, 6, 9, 12, 33, 66, 99]; // act for (int input in inputs) { final result = solver.execute(input); // assert expect(result, 'Fizz'); } }); ``` Should I divide it into multiple tests for each input? Wouldn't that be a lot more verbose? What is the correct way of thoroughly testing a functionality? Thanks in advance, you got a new subscriber!
@runtimesnippets
@runtimesnippets 4 ай бұрын
1."Why are loops a bad idea in unit tests?" Because 1. loops go against readability and conciseness. 2. The flutter test suite will only give you one output per unit test. So let's say, if your unit test had 7 inputs and one of them was wrong, the entire test will fail. Which is not very descriptive, and doesn't provide you with the right feedback. We also won't be able to know on which iteration the expect method failed. We will have to debug this ourselves. 2. "Should I divide it into multiple tests for each input?" Absolutely! 3. "Wouldn't that be a lot more verbose?" Remember the rule from the TDD video: "Write specific test cases that make your code generic" Meaning: The more specific test cases you have, the more general your code will become in handling different inputs. So it doesn't matter the number of tests you have. One input = One output, and there should be a single test case for that. 4. "What is the correct way of thoroughly testing a functionality?" To thoroughly test a feature, you should identify different edge cases that will break the feature, and then test your code through those inputs. For example, in your method, maybe a multiple of 5 or a multiple of both 3 & 5, might break your feature, so I would test your code with those inputs as well. But be cautious, don't write test cases that keep on testing the same behavior. For example, writing a test case for 3, then 6, then 9, then 12 will keep testing the same behavior of the feature. Once a behavior has been verified, go for different inputs that will test some other part of the method, like 5 or maybe 15. Have any other questions? I would love to answer :)
@lucas.marianno
@lucas.marianno 4 ай бұрын
@@runtimesnippets Got it. Thank you! Cheers from 🇧🇷
@runtimesnippets
@runtimesnippets 4 ай бұрын
@@lucas.marianno you’re welcome!
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 266 МЛН
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 37 МЛН
I Found The CLEANEST Loading Animation EVER!
3:37
Technophile
Рет қаралды 1,6 М.
I built 3 apps in record time using this AI IDE (it's insane)
5:21
Runtime Snippets
Рет қаралды 2,2 М.
What's new in Flutter 3.24 | Flutter 2024 Updates #flutter
3:43
Runtime Snippets
Рет қаралды 8 М.
Flutter Theming in 180 seconds
3:11
Runtime Snippets
Рет қаралды 280
Build a video call app in minutes | Flutter ZEGOCLOUD Tutorial
6:41