소스 검색

添加 mocha 测试

modood 8 년 전
부모
커밋
cdad0e1990
3개의 변경된 파일94개의 추가작업 그리고 3개의 파일을 삭제
  1. 22 1
      README.md
  2. 8 2
      package.json
  3. 64 0
      test/test.js

+ 22 - 1
README.md

@@ -2,6 +2,7 @@
 
 中华人民共和国行政区划:省份、城市、区县、乡镇(街道)
 
+[![Deps](https://david-dm.org/modood/china-division.svg)](https://david-dm.org/modood/china-division)
 [![npm](https://img.shields.io/npm/v/china-division.svg)](https://www.npmjs.com/package/china-division)
 [![npm](https://img.shields.io/npm/dt/china-division.svg)](https://www.npmjs.com/package/china-division)
 [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/modood/Administrative-divisions-of-China/master/LICENSE)
@@ -18,13 +19,33 @@
 | “省、市、区” 三级联动数据                    | [address3.json](https://github.com/modood/Administrative-divisions-of-China/blob/master/dist/address3.json) | [address3.min.json](https://github.com/modood/Administrative-divisions-of-China/blob/master/dist/address3.min.json) |
 | “省、市、区、镇” 四级联动数据                | [address4.json](https://github.com/modood/Administrative-divisions-of-China/blob/master/dist/address4.json) | [address4.min.json](https://github.com/modood/Administrative-divisions-of-China/blob/master/dist/address4.min.json) |
 
+## TEST
+
+```
+$ npm test
+
+> mocha -t 5000
+
+  中华人民共和国行政区划:
+    ✓ 省份数据
+    ✓ 城市数据
+    ✓ 区县数据
+    ✓ 乡镇(街道)数据
+    ✓ “省、市” 二级联动数据
+    ✓ “省、市、区” 三级联动数据
+    ✓ “省、市、区、镇” 四级联动数据
+    ✓ “某省、某市、某县、某镇” 不存在
+
+  8 passing (12ms)
+```
+
 ## NPM(不建议)
 
 > 注意:
 
 > 由于获取数据为同步操作,出于性能考虑,不建议使用 Node 模块这种方式。
 
-> 建议 [下载 JSON 文件](https://github.com/modood/Administrative-divisions-of-China/tree/master/dist)
+> 建议 [下载 JSON 文件](https://github.com/modood/Administrative-divisions-of-China#json)
 > 然后在代码里使用 require 引入,原因参考 [Node.js Modules](https://nodejs.org/dist/latest-v4.x/docs/api/modules.html)。
 
 安装:

+ 8 - 2
package.json

@@ -1,10 +1,10 @@
 {
   "name": "china-division",
-  "version": "1.0.1",
+  "version": "1.0.2",
   "description": "中华人民共和国行政区划:省份、城市、区县、乡镇(街道)",
   "main": "index.js",
   "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
+    "test": "mocha -t 5000"
   },
   "repository": {
     "type": "git",
@@ -13,6 +13,9 @@
   "keywords": [
     "中国",
     "行政区划",
+    "省市",
+    "省市区",
+    "联动",
     "省份",
     "城市",
     "区县",
@@ -24,6 +27,9 @@
     "email": "modood@qq.com",
     "url": "https://github.com/modood"
   },
+  "devDependencies": {
+    "mocha": "^3.1.0"
+  },
   "license": "MIT",
   "bugs": {
     "url": "https://github.com/modood/Administrative-divisions-of-China/issues"

+ 64 - 0
test/test.js

@@ -0,0 +1,64 @@
+'use strict'
+
+/**
+ * 测试脚本
+ * @Author   https://github.com/modood
+ * @DateTime 2016-10-10 11:24
+ */
+
+const assert = require('assert')
+
+const chinaDivision = require('..')
+
+const provinces = chinaDivision.provinces;
+const cities    = chinaDivision.cities;
+const areas     = chinaDivision.areas;
+const streets   = chinaDivision.streets;
+const address2  = chinaDivision.address2;
+const address3  = chinaDivision.address3;
+const address4  = chinaDivision.address4;
+
+describe('中华人民共和国行政区划:', function () {
+
+  it('省份数据', function () {
+    assert.equal('110000', provinces[0].code)
+    assert.equal('北京市', provinces[0].name)
+  });
+
+  it('城市数据', function () {
+    assert.equal('110100', cities[0].code)
+    assert.equal('北京市', cities[0].name)
+    assert.equal('110000', cities[0].parent_code)
+  });
+
+  it('区县数据', function () {
+    assert.equal('110101', areas[0].code)
+    assert.equal('东城区', areas[0].name)
+    assert.equal('110100', areas[0].parent_code)
+  });
+
+  it('乡镇(街道)数据', function () {
+    assert.equal('110101001', streets[0].code)
+    assert.equal('东华门街道', streets[0].name)
+    assert.equal('dong hua men jie dao', streets[0].pinyin)
+    assert.equal('110101', streets[0].parent_code)
+  });
+
+  it('“省、市” 二级联动数据', function () {
+    assert.ok(address2['浙江省'].indexOf('杭州市') !== -1)
+  });
+
+  it('“省、市、区” 三级联动数据', function () {
+    assert.ok(address3['云南省']['丽江市'].indexOf('古城区') !== -1)
+  });
+
+  it('“省、市、区、镇” 四级联动数据', function () {
+    assert.ok(address4['广西壮族自治区']['玉林市']['容县'].indexOf('石头镇') !== -1)
+  });
+
+  it('“某省、某市、某县、某镇” 不存在', function () {
+    assert.throws(() => address4['某省']['某市']['某县'].indexOf('某镇') !== -1)
+  });
+
+});
+