<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 隨堂練習:完成登錄、注冊功能 ## 學習mongodb * [http://nodeonly.com/nodesang/#/4](http://nodeonly.com/nodesang/#/4) * [https://github.com/DanialK/Simple-Authentication](https://github.com/DanialK/Simple-Authentication) ## 添加mongoose ~~~ mkdir models npm i -S mongoose npm i -S mongoosedao ~~~ 在路由里增加創建代碼 ### 配置 配置mongodb鏈接信息 * config/mongodb.example.js * db.js ~~~ cp config/mongodb.example.js config/mongodb.js ~~~ ### 創建models/user.js ~~~ var mongoose = require('mongoose'); var Schema = mongoose.Schema; var MongooseDao = require('mongoosedao'); var userSchema = new Schema( { "name":"String", "password":"String" } ); var User = mongoose.model('User', userSchema); var UserDao = new MongooseDao(User); module.exports = UserDao; ~~~ ### 測試user.js ~~~ var request = require('supertest'); var assert = require('chai').assert; var expect = require('chai').expect; require('chai').should(); require('../db') var User = require('../models/user') // 測試代碼基本結構 describe('UserModel', function(){ before(function() { // runs before all tests in this block }) after(function(){ // runs after all tests in this block }) beforeEach(function(){ // runs before each test in this block }) afterEach(function(){ // runs after each test in this block }) describe('#save()', function(){ it('should return stuq when user save', function(done){ User.create({"name":"stuq","password":"password"},function(err, user){ if(err){ expect(err).to.be.not.null; done(); } expect(user.name).to.be.a('string'); expect(user.name).to.equal('stuq'); done(); }); }) }) }) ~~~ 在測試完成后需要在after里刪除測試數據,保證測試完整性,自己寫吧 ### 在路由里增加user創建和api測試 routes/user.js ~~~ var User = require('../models/user') router.post('/register', function(req, res, next) { var name = req.body.name; var password = req.body.password; User.create({ "name":name, "password":password },function(err, user){ if(err){ res.json('register failed with err'); } res.json('register sucess'); }); }); ~~~ test/user_api.js ~~~ var request = require('supertest'); var assert = require('chai').assert; var expect = require('chai').expect; require('chai').should(); var app = require('../app'); require('../db') describe('POST /users/register', function(){ it('respond register with json', function(done){ request(app) .post('/users/register') .field('name', 'stuq') .field('password', '123456') .set('Accept', 'application/json') .expect('Content-Type', /json/) .expect(200, done); }) }) ~~~ 測試 ~~~ mocha -u bdd test/user_api.js ~~~ ## 登錄 routes/user.js ~~~ var User = require('../models/user') router.post('/login', function(req, res, next) { var name = req.body.name; var password = req.body.password; User.findOne({ "name":name, "password":password },function(err, user){ if(err){ res.json('register failed with err'); } res.json('register sucess'); }); }); ~~~ 這是示意,實際代碼的密碼地方是不會這樣寫的。采用加鹽加密方式
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看