现在我想为应用创建一个类,这个类里面要包含的方法我可以先为它写一些测试,你可以先花一点点时间考虑一下这个方法,在什么情况下,这个方法要做什么,返回什么样的值,根据这些东西我们可以去给它写测试。
比如我要创建一个叫 NinghaoDemo 的类,里面有一个 subtotal 方法,它的功能是算出商品的小计金额,就是用商品的单价乘以数量。
打开我们之前在 test 目录的下面创建的这个测试文件 .. 这里已经把 chai 这个断言库导入进来了 .. 我们的测试要使用的是它的 expect 风格的断言 ..
先去创建一个测试.. 每个测试可以使用一个 it 方法 .. 这个方法的第一个参数是测试的描述 .. 单价是 10 块钱的 3 件商品小计金额应该是 30 块
第二个参数是一个函数,可以在这里写具体要测试的东西 ... 定义一个变量名字是 subtotal ,让它等于 demo 的 subtotal 这个方法 .. 给这个方法两个参数,一个是单价,一个是数量 .. demo 就是我们要创建的那个类的实例 .. subtotal 是这个类里的一个方法 .. 它可以算出商品的小计金额 .. 这个方法就是我们要测试的东西。
然后去添加一个断言 .. 使用一下 expect 方法,.. 断言上面得到的 subtotal 的值 .. to equal 应该等于 .. 30 ..
这就是一个简单的测试,要测试的方法是 subtotal,这个方法我们还没有定义,不过我知道这个方法需要返回的正确的值是什么 .. 就是商品的单价乘以商品的数量 .. 也就是一个小计的金额 ..
我在这个测试里,使用了一下这个方法,给它添加了两个它期待的参数,把方法返回的值交给了一个变量 .. 然后我们用了 assert 引擎,我这里用的是 chai ... 检查了一下这个 subtotal 的值,是不是等于我期望的那个值 ... 如果不是,这个测试就会失败,也就是哪里出了点问题,我需要去先解决这个问题 ..
下面我们先去运行一下这个测试 .. 确定是在项目所在的目录的下面 .. 执行一下 mocha ..
你会看到 ninghaoDemo 这个测试组合里面有一个测试失败了 ... 出现的错误是 demo is not defined .. 还没有定义 demo ...
下面我们再去创建应用需要的类,添加这里测试的这个方法,先让这个测试可以通过 ...