Mocha 是一个 js 测试的包, 编写测试有两个关键字 describe
和 it
describe
是一个”统领块”, 所有的 test functions 都会在它”名下”it
表示每一个 test function
create_test.js
const assert = require('assert')
// assume we have a User model defined in src/user.js
const User = require('../src/user')
// after installing Mocha, we have global access
// to describe and it keywords
describe('Creating records', () => {
it('saves a user', () => {
const joe = new User({ name: "Joe" });
joe.save();
assert()
});
});
复制代码
NoSQL Databases
Benefits of NoSQL
- Easy for inserting and retrieving data, since they are contained in one block, in one json object
- Flexible schema, if a new attribute added, it is easy to just add / append to the object
- Scalability, horizontally partition the data (availability > consistency)
- Aggregation, find metrics and etc
Drawbacks of NoSQL
- Update = Delete + Insert, not built for update
- Not consistent, ACID is not guaranteed, do not support transactions
- Not read optimized. Read entire block find the attribute. But SQL, just need one column (read time compartively slow)
- Relations are not implicit
- JOINS are hard to accomplish, all manually