golang references - vishwanathj/technical GitHub Wiki
-
https://blog.jetbrains.com/go/2018/04/30/debugging-containerized-go-applications/
-
Event Processing --> https://github.com/openstack/osel
-
Observer Design Pattern --> https://gist.github.com/sayden/d3ab61726057b7a37963
-
Unit Tests
- https://medium.com/rungo/unit-testing-made-easy-in-go-25077669318
- https://github.com/golang/mock
- https://github.com/grpc/grpc-go/blob/master/Documentation/gomock-example.md
- https://stackoverflow.com/questions/42102496/testing-a-grpc-service
- https://medium.com/@xoen/go-testing-technique-testing-json-http-requests-76d9ce0e11f
- https://blog.codecentric.de/en/2017/08/gomock-tutorial/
- https://developpaper.com/examples-of-methods-for-unit-testing-using-gomock/
- https://quii.gitbook.io/learn-go-with-tests/
- https://tutorialedge.net/golang/improving-your-tests-with-testify-go/#a-mocking-example
- https://blog.codecentric.de/2019/07/gomock-vs-testify/
- https://ncona.com/2020/02/using-testify-for-golang-tests/
- https://lanre.wtf/blog/2017/07/06/mocking-go/
- https://blog.learngoprogramming.com/how-to-mock-in-your-go-golang-tests-b9eee7d7c266
- https://medium.com/better-programming/unit-testing-code-using-the-mongo-go-driver-in-golang-7166d1aa72c0 (using mock for UT)
- https://www.reddit.com/r/golang/comments/c0pav8/unit_testing_code_with_mutexes/
- https://techblog.fexcofts.com/2019/09/23/go-and-test-mocking/ (using mocks and interfaces)
- https://segment.com/blog/5-advanced-testing-techniques-in-go/
- https://medium.com/@robiplus/golang-trick-export-for-test-aa16cbd7b8cd
- https://www.philosophicalhacker.com/post/testing-package-implmentation-details-from-the-outside/
- https://lanre.wtf/blog/2017/05/17/on-package-naming-for-tests/
- Testing Channels ==> https://groups.google.com/forum/#!topic/golang-nuts/pFYqdGwdT7o
- Tests cover percentage ==> https://golangcode.com/how-to-run-go-tests-with-coverage-percentage/
- https://lucasfcosta.com/2017/01/11/Getting-Started-With-Testing-in-Go.html
- https://medium.com/@matryer/5-simple-tips-and-tricks-for-writing-unit-tests-in-golang-619653f90742#03db
- https://dev.to/ilyakaznacheev/how-i-write-my-unit-tests-in-go-quickly-4bd5
- https://www.red-gate.com/simple-talk/dotnet/software-testing/go-unit-tests-tips-from-the-trenches/
- https://www.cloudbees.com/blog/creating-fakes-in-go-with-channels
- https://www.sidorenko.io/post/2019/01/testing-of-functions-with-channels-in-go/
-
Integration Tests:
- https://www.ardanlabs.com/blog/2019/10/integration-testing-in-go-set-up-and-writing-tests.html
- https://semaphoreci.com/community/tutorials/how-to-perform-integration-testing-on-go-applications-with-docker
- https://medium.com/@victorsteven/understanding-unit-and-integrationtesting-in-golang-ba60becb778d
-
Unit vs Integration testing
-
BDD tests
- https://lanre.wtf/blog/2017/06/23/expressive-testing-go/
- example of running a specific test in ginkgo
go test -ginkgo.focus="<replace with text in It>"
- https://www.bojankomazec.com/2019/08/testing-go-with-ginkgo.html
-
Channel testing
-
Testing link related to unit, integration and concurrent code
-
Error handling
-
Packages && Dependency Management:
-
Https and go
-
Align happy path to left edge --> https://medium.com/@matryer/line-of-sight-in-code-186dd7cdea88
-
Code Review Comments --> https://github.com/golang/go/wiki/CodeReviewComments#error-strings
-
https://dzone.com/articles/writing-a-microservice-in-golang-which-communicate
-
http://p.agnihotry.com/post/understanding_the_context_package_in_golang/
-
https://ops.tips/blog/minimal-golang-makefile/ <--- Makefiles related
-
https://medium.com/@sebassegros/golang-dealing-with-maligned-structs-9b77bacf4b97
-
Passing configs in Go
-
Tag attributes
-
Dependency Injection
-
Pagination Links
-
Implementing singleton in Golang
-
Init functions in golang
-
Golang commands
go test -v github.com/vishwanathj/JSON-Parameterized-Data-Validator/jsondatavalidator -run TestGetRegexMatchingListFromJSONBuff
go test -mod=vendor
refer https://golang.org/ref/mod
-
Build tags
-
Building on different platforms
Delve Debugging
- https://www.melvinvivas.com/debugging-go-applications-using-delve/
- https://github.com/derekparker/delve/blob/master/Documentation/usage/dlv_test.md
- https://github.com/go-delve/delve/blob/master/Documentation/installation/linux/install.md
- https://github.com/grantseltzer/switchers-blog-example
- https://www.grant.pizza/blog/test-build-modes/
Race Detection
- https://krakensystems.co/blog/2019/golang-race-detection
- https://www.youtube.com/watch?v=5erqWdlhQLA
GO Project report card generator
Generate go structs and validation code from JSON schema
Go: Context and cancellation