Comments (5)
What's the difference between test suite and normal test because what the go coding style says tests should be placed in the same package with the actual codes?
from gmqtt.
The test suite here is used to test the behavior for an interface to ensure the behavior of its implementation is correct. For example, the subscription persistence interface now has 2 implementation, one is memory and one is redis. The test suite will test both memory and redis to ensure the behavior required by the interface is not broken.
from gmqtt.
You can take a look at https://github.com/DrmagicE/gmqtt/blob/master/persistence/memory_test.go and https://github.com/DrmagicE/gmqtt/blob/master/persistence/redis_test.go. The TestMemory
and TestRedis
will run the same test suite, which means I can use one suite to test any further Implementations.
from gmqtt.
Each interface located in the persistence/* package use a test suite to test both memory
and redis
implementation.
The tests placed in the same package is also required if you ara testing some low level codes. For example, topic_trie_test.go is testing the behavior of the low level data structure for subscription, while the test_suite.go is testing the behavior of the whole interface
from gmqtt.
Excellent,
This way the reliability of the system will increase.
These descriptions would also be helpful if they are added to the contribution guidline.
from gmqtt.
Related Issues (20)
- last will & testament doesn't support binary payloads
- how to deploy gmqtt distributed cluster in k8s enviroment?
- Any benchmark test data? HOT 2
- 有没有推荐的golang版本的mqtt客户端和gmqtt一起工作?或者gmqtt有没有计划处一个自己的client库? HOT 1
- Memory leak using OnBasicAuthWrapper Hook HOT 7
- websocket packet size over 1024 causing read hang HOT 1
- grpc publish retain 标志不起作用
- 1000客户端压测报错/gmqtt/persistence/queue/mem/mem.go:185 +0x118 HOT 1
- 三节点的集群,客户端发送消费二进制数据,节点挂掉了 HOT 2
- 可能存在内存泄漏 HOT 2
- panic: persistence factory: memory not found? HOT 1
- Modify topic before publishing
- 关于mqtts的问题 HOT 2
- Alternatives or sucessor of this project
- Old Docker Image
- 有时候存在消息未送达的情况
- 哪里空了啊
- 插件hook函数加载时间点优先于日志
- 测试无法保留会话,总会CleanSession,请问这块有做没有?是否是bug HOT 1
- 如何有重复id登录,是否有选项舍弃之前的id,而不是新的id自动拒绝? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gmqtt.