Some ideas for your next unit testing videos: - How to write more elegant tests with FluentAssertions - When and how to use mocks, when to avoid - How to test the EF Core Queries using InMemory Database Provider - AutoFixture - good or bad? - Blazor projects: how to test pages - MediatR: how to test commands/queries
Great ideas! I have a video for both FluentAssetions, Shouldly, Moq, FakeItEasy, NSubstitude and AutoFixture in the pipeline alongside 25-30 other libraries :D I actually made a video on Blazor testing but I had to scrap it because Microsoft will eventually come out with their own testing package and will render my video obsolete.
Great video, thanks Nick! I've just finished reading Vladimir Khorikovs book on Unit Testing and would recommend that one to every one who is interested in the topic! Also, his article "You are naming your tests wrong!" is a great read.
Keep in mind this is not about unit testing but about how to use the xUnit library. I already have a video talking about TDD and I go more in depth about naming and structure.
@@nickchapsas Yes, your other video is great too, I've learned a lot about TDD and xUnit there already, and it led me to dig deep into the topics. I've applied everything I learned to a new project and must say it is very nice to have all the tests as a safety net!
Didn't expect this video to go beyond beginner's level and turned out to be extremely useful condensed and clear information. I just created a new private playlist for favorites to add this in. Mille Grazie! :*
Outstanding! This is the ideal video for me. A bunch of real code examples showcasing the full feature set (or at least the most important ones) along with a little explanation as to limitations, use cases, etc. Perfecto!! The only constructive criticism I have is that (on my desktop speakers at least) the sound is a bit muddled and bassy for voice.
19:58. I am confused. If each one of the two test call RandomGuid, it should return a random one each time even if the guid generator is the same instance between each test. How come they return the same value?
It's so that I thought about whether you could make a video where you have a project, service, data and testing. It's because I'm in trouble compared to when I need something in service that I can not access the database. I have researched a bit in relation to stackoverflow around it and there I could read my way to "You can not use appsettings.json as Configuration in test project from Web project. If you want to use, you should make a custom implementation" Thanks for video.
Thank you very much for your videos, Nick! I'm learning a lot! Would it be possible for you to create a little practical tutorial on how to test API controllers and services which talk to the database layer with xUnit?
Why does TestData need to be an iterator function? Let it return the data from a static field. (Or better yet, allow MemberData to use fields directly; but that's apparently an xUnit design choice.)
@@nickchapsas Would it be more efficient than a method which returns the same IEnumerable from a static field, storing the entire set as an object[][], or List?
@@zevspitz8925 xUnit is lazily reading the cases so the full array isn't enumerated part the point of the current testing case, so yeah it would be more efficient
Hi Nick, great video! Do you have a video going through unit tests using InMemoryDatabase db context? I run into problem "An item with the same key has already been added" when running multiple unit test files when initializing the same context even when i already added IDisposable and EnsureDeleted. Is it just bad to do unit test using this way?
Hi Great video...I am trying to implement extent reporting using Extent reporting using Selenium c# with Xunit. are you able to guide me details of how to implement this in my framework
Hi there, do you mind providing a tutorial for AssemblyFixture? CollectionFixture doesnt work for me since it requires all involved tests to be executed sequentially, but I need parallelism Thank you!
Great beginner video but the information about the tests running in parallel is incorrect. Tests within a class will not run in parallel because by default xunit create a test collection per class. You can switch the behavior to create a collection per assembly but you can't go to a lower level than class AFAIK. Also, if you use CollectionDefinitions that use fixtures, you need to ensure you define the CollectionDefinition in the assembly with the tests, otherwise the fixtures part of the CollectionDefinition isn't recognized and it won't create the fixtures, silently failing. After 4 hours I found single sentence in the documentation that states this.
Your speed is too fast, I know about unit test but not know about xUnit so it is hard to grasp the detail that much quick. Your videos are good, but please try to slow down your speed and explain thing is little more detail.
Are you looking for more training? Check out my "From Zero to Hero: Unit testing in C#" course: nickchapsas.com/p/from-zero-to-hero-unit-testing-in-c
just found your channel a week ago. Really high-quality content! keep it up
Some ideas for your next unit testing videos:
- How to write more elegant tests with FluentAssertions
- When and how to use mocks, when to avoid
- How to test the EF Core Queries using InMemory Database Provider
- AutoFixture - good or bad?
- Blazor projects: how to test pages
- MediatR: how to test commands/queries
Great ideas! I have a video for both FluentAssetions, Shouldly, Moq, FakeItEasy, NSubstitude and AutoFixture in the pipeline alongside 25-30 other libraries :D I actually made a video on Blazor testing but I had to scrap it because Microsoft will eventually come out with their own testing package and will render my video obsolete.
Vç]
Great video, thanks Nick! I've just finished reading Vladimir Khorikovs book on Unit Testing and would recommend that one to every one who is interested in the topic! Also, his article "You are naming your tests wrong!" is a great read.
Keep in mind this is not about unit testing but about how to use the xUnit library. I already have a video talking about TDD and I go more in depth about naming and structure.
@@nickchapsas Yes, your other video is great too, I've learned a lot about TDD and xUnit there already, and it led me to dig deep into the topics. I've applied everything I learned to a new project and must say it is very nice to have all the tests as a safety net!
I wasn't convinced. But about a third of the way through.... This is amazing! Will definitely look into this package
This has been a huge help. Before watching your video, I only know about [Fact] and [Theory][InlineData].
Didn't expect this video to go beyond beginner's level and turned out to be extremely useful condensed and clear information. I just created a new private playlist for favorites to add this in. Mille Grazie! :*
Thanks man! It helps me to start my testing.
Great video, nicely explained and you have kept it simple and easy to understand. Thank you.
Too good and informative videos Nick. proud to be ur subscriber :)
yet again great tutorial. thanks for all the effort
Outstanding! This is the ideal video for me. A bunch of real code examples showcasing the full feature set (or at least the most important ones) along with a little explanation as to limitations, use cases, etc. Perfecto!!
The only constructive criticism I have is that (on my desktop speakers at least) the sound is a bit muddled and bassy for voice.
Great video! didn't know about the ClassData, thanks!
19:58. I am confused. If each one of the two test call RandomGuid, it should return a random one each time even if the guid generator is the same instance between each test. How come they return the same value?
Thanks for the tutorials! They are superb!
It's so that I thought about whether you could make a video where you have a project, service, data and testing. It's because I'm in trouble compared to when I need something in service that I can not access the database. I have researched a bit in relation to stackoverflow around it and there I could read my way to "You can not use appsettings.json as Configuration in test project from Web project. If you want to use, you should make a custom implementation" Thanks for video.
Thank you very much for your videos, Nick! I'm learning a lot!
Would it be possible for you to create a little practical tutorial on how to test API controllers and services which talk to the database layer with xUnit?
It’s your lucky day. The next 3 videos will be about mocking 😃
@@nickchapsas Thanks, man! Really appreciate you sharing your knowledge. And your short, strait to the point videos are very-very helpful.
I guess it's kinda randomly asking but does anybody know a good site to watch newly released series online?
@Lorenzo Shawn flixportal xD
@Hassan Maxton Thanks, I signed up and it seems like a nice service :D I appreciate it !
what about Component test, can we use xUNIT for that propouse?
Do we need to suffix "Theory" in every [Theory] method? Like is it best practice?
Very helpful thank you
Thank you so much...
What if you want to initialize selenium chrome driver using some parameters how you will inject it in the constructor?
Is it bad practice to use a static property containing the dependencies instead of using a context?
Thank you
It was very helpful
how does your visual studio look so different?
As usual, the best video.
Awesome Nick, thank you!
Why does TestData need to be an iterator function? Let it return the data from a static field.
(Or better yet, allow MemberData to use fields directly; but that's apparently an xUnit design choice.)
It's an iterator because xUnit will use it to iterate over them in an efficient way to execute
@@nickchapsas Would it be more efficient than a method which returns the same IEnumerable from a static field, storing the entire set as an object[][], or List?
@@zevspitz8925 xUnit is lazily reading the cases so the full array isn't enumerated part the point of the current testing case, so yeah it would be more efficient
Great video, thank you!
Hi Nick, great video!
Do you have a video going through unit tests using InMemoryDatabase db context?
I run into problem "An item with the same key has already
been added" when running multiple unit test files when initializing the same context even when i already added IDisposable and EnsureDeleted.
Is it just bad to do unit test using this way?
Brilliant. Thanks.
where do u get CalculatorState from in the calculator class? wtf
Thanks for this, though it was quick, it's very useful... But - Who tests the tests?
Hi Great video...I am trying to implement extent reporting using Extent reporting using Selenium c# with Xunit. are you able to guide me details of how to implement this in my framework
Very very helpful video... thanks
Hi there, do you mind providing a tutorial for AssemblyFixture?
CollectionFixture doesnt work for me since it requires all involved tests to be executed sequentially, but I need parallelism
Thank you!
Hey Mike, I wasn't aware of AssemblyFixture. I don't know if I will make a video about it but I could write a blog.
Great beginner video but the information about the tests running in parallel is incorrect. Tests within a class will not run in parallel because by default xunit create a test collection per class. You can switch the behavior to create a collection per assembly but you can't go to a lower level than class AFAIK. Also, if you use CollectionDefinitions that use fixtures, you need to ensure you define the CollectionDefinition in the assembly with the tests, otherwise the fixtures part of the CollectionDefinition isn't recognized and it won't create the fixtures, silently failing. After 4 hours I found single sentence in the documentation that states this.
I'd suspect it might be version differences. This video is 3 years old and at least one major version has happened since then.
Great Tutorial Indeed!
Great vid.. thank you!!
Good tutorial!
Could you please make a video about NUnit? Thanks a lot!!!!!. Great videos!!!
AWESOME .. NICK THANKS FOR EXCELLENT VIDEOS ..CAN YOU PLEASE CHECK POSSIBILITIES FOR SOME VIDS ON CLIENT SIDE UNIT TESTING ..USING JASMINE??
thanks, bro!
Great video! keep up the good work!
Nice video.
#JetBrainsRider
Very nice
#JetBrainsRide thanks for your videos)
hahaha because my pc is too fast
👍🏽
Your speed is too fast, I know about unit test but not know about xUnit so it is hard to grasp the detail that much quick.
Your videos are good, but please try to slow down your speed and explain thing is little more detail.
You always can reduce speed using youtube video setting (for example set speed to 0.75)
Great video, thank you!!
#JetBrainsRider