Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
[Backend API] Implement endpoint for create event details #213 #281
base: main
Are you sure you want to change the base?
[Backend API] Implement endpoint for create event details #213 #281
Changes from 37 commits
e93e518
b507d99
75d7042
f4172b7
b94bd2c
45b8e0c
eaa6972
290d971
9177a70
9ad61bf
b729ad0
c158308
9b82301
954c43e
419a973
30e911c
f17bd29
719d973
a521674
ec396dd
b6f66f2
ada1f22
9385d2f
69f35d3
17c9799
9548f5f
9b50e75
ca183e0
1c6c2d6
9bef6ab
a836420
7a7d848
55db6d6
473da19
2b466c7
d77ca2c
3f4b1e1
74d9674
9516436
a083391
6274ead
bbdbd68
0ff2663
f695a7c
4b5a1bd
78ffc92
e503167
1988f7f
2587bd6
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
Check warning on line 65 in src/AzureOpenAIProxy.ApiApp/Repositories/AdminEventRepository.cs
GitHub Actions / build-test
Check warning on line 65 in src/AzureOpenAIProxy.ApiApp/Repositories/AdminEventRepository.cs
GitHub Actions / build-test
Check warning on line 84 in src/AzureOpenAIProxy.ApiApp/Repositories/AdminEventRepository.cs
GitHub Actions / build-test
Check warning on line 84 in src/AzureOpenAIProxy.ApiApp/Repositories/AdminEventRepository.cs
GitHub Actions / build-test
Check warning on line 40 in test/AzureOpenAIProxy.ApiApp.Tests/Repositories/AdminEventRepositoryTests.cs
GitHub Actions / build-test
Check warning on line 40 in test/AzureOpenAIProxy.ApiApp.Tests/Repositories/AdminEventRepositoryTests.cs
GitHub Actions / build-test
Check warning on line 54 in test/AzureOpenAIProxy.ApiApp.Tests/Repositories/AdminEventRepositoryTests.cs
GitHub Actions / build-test
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이게 동작하나요????
https://learn.microsoft.com/en-us/dotnet/azure/sdk/unit-testing-mocking?tabs=nsubstitute
만약에 동작한다면, 그건 그것대로 문제 같은데... 왜냐면 목킹이 제대로 안 된 것 같아서;;;
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오.....! ㅠㅠㅠ 보내주신 문서보고 다시 해보겠습니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(수정내용)
단위 테스트 자체에 이해도가 낮아서, 아직 테스트 방법을 갈피를 잡지 못한 것 같습니다ㅠㅠ
우선 tableServiceClient가 tableClient를 반환하는 동작,
tableClient에서 호출되는 AddEntityAsync의 동작도 목킹을 추가했습니다.
(테스트목표)
이 테스트 메서드는 파라미터로 전달한 객체가 오류없이 잘 반환되는지,
그래서 파라미터로 전달한 것과 반환된 것이 동일한지 확인해보고 싶었어요.
(궁금한점)
음 저희 단위 테스트 코드를 보면 대체로 동작을 비슷한 방법으로 목킹하고 있는데
만약 어떠어떠한 부분이 잘 동작한다면, 이란 가정하에 나머지 부분이 어떻게 동작하는지를 확인하는 걸까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
단위테스트는 내가 테스트하고자 하는 메소드가
제대로의도한대로 작동하는 것만을 확인합니다. 따라서, 그 안에서 어떤 일이 벌어지는지는 테스트하지 않아요.예를 들어서 지금과 같이
CreateEvent
라는 메소드를 보면, 그 안에서TableClient
를 만들잖아요? 근데, 이건 우리 메소드가 하는 코어 로직하고는 다르죠. 사실 어떻게 보면 이건 외부에서 인젝션해 주는 거나 마찬가지라서, 이 부분은 목킹으로 넘어가면 됩니다.또한가지는 만약에
TableClient
에서 우리가AddEntity
메소드를 호출한다고 가정하면, 실제 상황에서는 이 메소드 호출시 에러가 나는 경우도 있겠죠? 그러면AddEntity
메소드를 에러가 나는 상황으로 목킹해서CreateEvent
메소드가 어떤식으로 에러 처리를 하는지 확인해야 할 겁니다. 또한AddEntity
메소드를 에러가 나지 않는 상황으로 목킹해서 그 결과값을 테스트하면 됩니다.정리하자면 우리가 테스트하려는 대상은
CreateEvent
이고, 그 안에 들어가는 의존성 개체라든가 데이터는 가짜 데이터를 심어서 그 가짜 데이터를 바탕으로 우리CreateEvent
메소드가 예상하는 대로 동작하는지를 확인하는 게 단위테스트의 목적입니다.