Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Week 2: Presentation proposal (maxisr & jbiorck) #2375

Merged
merged 1 commit into from
Sep 3, 2024
Merged

Conversation

Blezie
Copy link
Contributor

@Blezie Blezie commented Aug 29, 2024

Assignment Proposal

Title

Mockito: What it is, how it works, and how it improves automated testing in Java

Names and KTH ID

Deadline

  • Week 2

Category

  • Presentation

Description

We want to talk about Mockito, a Java-based mocking framework, to enhance the testing automation process, specifically within the context of Continuous Integration (CI). Mockito allows developers to create mock objects for unit tests. It enables simulation of complex interactions without requiring actual dependencies.

Relevance

This proposal is relevant as it improves automated testing by using Mockito to simplify test development through mocking external dependencies.

@algomaster99
Copy link
Collaborator

Hi @Blezie ! Thanks for the proposal! A presentation of Mockito looks good. However, since it is a huge library, it would be nice to focus on only one feature. For example, this feature could be on of the latest features. You can look at their changelog to find such features.

@JohannBiorck
Copy link
Contributor

Hi @Blezie ! Thanks for the proposal! A presentation of Mockito looks good. However, since it is a huge library, it would be nice to focus on only one feature. For example, this feature could be on of the latest features. You can look at their changelog to find such features.

We plan to focus on the mock feature, by showing an example of how its done. Does that sound okay?

@algomaster99
Copy link
Collaborator

@JohannBiorck ! Do you have any specific APIs in mind? One of the major features you can present is DoNoMock with some context of Mockito.

But maybe I am being too focussed. 😅 @Deee92 is an expert in testing and testing libraries. She can help use converge towards a topic. What do you think of the proposal and my suggestion, @Deee92 ?

@JohannBiorck
Copy link
Contributor

@JohannBiorck ! Do you have any specific APIs in mind? One of the major features you can present is DoNoMock with some context of Mockito.

But maybe I am being too focussed. 😅 @Deee92 is an expert in testing and testing libraries. She can help use converge towards a topic. What do you think of the proposal and my suggestion, @Deee92 ?

I dont understand how explaining DoNoMock would be more interesting that what we intend to do, it seems very easy to use and its functionality is not hard to understand. Is it not focused enough to give context of Mockito then explain and show and example using Mocks?

@javierron javierron added proposal A task proposal presentation One of the task categories listed in README.md labels Aug 30, 2024
@algomaster99
Copy link
Collaborator

algomaster99 commented Aug 31, 2024

how explaining DoNoMock would be more interesting that what we intend to do

Personally, mocking an object is binary. Either you put @Mock or you don't so why is there another annotation. Moreover, @DoNotMock has been introduced as a major feature.

Is it not focused enough to give context of Mockito then explain and show and example using Mocks

It is sufficient to present it, but I want you to present more APIs in the library apart from just @Mock. And yes, if you don't like the feature I looked up, do not present it. But mockito is a huge library. I am sure you can find many interesting things about it.

@Deee92
Copy link
Collaborator

Deee92 commented Aug 31, 2024

Hi @JohannBiorck and @Blezie, mocking is great. I agree with @algomaster99 though, presenting an overview of Mockito (as one would get from its docs) might not be enough.
How about presenting mocking in general - what problem it solves, why it is challenging, when should we not use it? You could then talk about mocking tools / libraries and techniques for different languages (e.g., the best libraries for Java, Python, etc), and different contexts (e.g., mocking APIs). Make sure to include examples (code listings), even better if you can find some from real projects such as on GitHub.
How does this sound?

@JohannBiorck
Copy link
Contributor

Hi @JohannBiorck and @Blezie, mocking is great. I agree with @algomaster99 though, presenting an overview of Mockito (as one would get from its docs) might not be enough. How about presenting mocking in general - what problem it solves, why it is challenging, when should we not use it? You could then talk about mocking tools / libraries and techniques for different languages (e.g., the best libraries for Java, Python, etc), and different contexts (e.g., mocking APIs). Make sure to include examples (code listings), even better if you can find some from real projects such as on GitHub. How does this sound?

This sounds good! Should we talk about multiple different tools and show multiple examples, or is it enough to talk about mocking in general and then go into specifics and show code examples from Mockito?

@Deee92
Copy link
Collaborator

Deee92 commented Aug 31, 2024

You can motivate the need for mocking, and illustrate with good examples. I recommend presenting how mocking can be done for different use cases and with different tools.

@JohannBiorck
Copy link
Contributor

You can motivate the need for mocking, and illustrate with good examples. I recommend presenting how mocking can be done for different use cases and with different tools.

I like this idea I am just not sure if we have the time to go into any real depths if we are to bring up multiple examples and show off different tools. is that fine?

@algomaster99
Copy link
Collaborator

You can motivate the need for mocking, and illustrate with good examples. I recommend presenting how mocking can be done for different use cases and with different tools.

I like this idea I am just not sure if we have the time to go into any real depths if we are to bring up multiple examples and show off different tools. is that fine?

I think you do have time for multiple examples. You can write the outline (slide by slide) of the presentation that you are thinking which is exceeding time. I can help you shorten.

@JohannBiorck
Copy link
Contributor

You can motivate the need for mocking, and illustrate with good examples. I recommend presenting how mocking can be done for different use cases and with different tools.

I like this idea I am just not sure if we have the time to go into any real depths if we are to bring up multiple examples and show off different tools. is that fine?

I think you do have time for multiple examples. You can write the outline (slide by slide) of the presentation that you are thinking which is exceeding time. I can help you shorten.

okay we will give it a go then!

@JohannBiorck
Copy link
Contributor

@algomaster99
This is our current structure: Intro - Explain what mocking is and why it is useful -> Explain what Mockito is and then show an example of mocking in Mockito -> Then we talk about when not to use Mocking and show an example here as well ( Right now this is also using mockito but we can change it). -> Then we have a reflection about the pros and cons of mocking -> Then we talk a little bit about other languages and frameworks for mocking and finally we end with our take-home message.

Does this sound good?

@algomaster99
Copy link
Collaborator

@JohannBiorck ! Looks good to me. @Deee92 , what do you think?

Then we talk about when not to use Mocking and show an example here as well

This is nice!

@Deee92
Copy link
Collaborator

Deee92 commented Sep 2, 2024

Yes, sounds good. @algomaster99 we can merge this PR. Looking forward to the presentation!

@algomaster99 algomaster99 merged commit 3c3b711 into KTH:2024 Sep 3, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
presentation One of the task categories listed in README.md proposal A task proposal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants