fe4-1:测试和自动测试

模式流星
• 阅读 926

由于fe3-3的测试方法需要经常复制粘贴后运行改错
现更新一种自动测试方法
自动测试:
1、建立一个main函数调用所有需要执行的函数
2、在html文件中对js文件进行引用
引用方法:<script src = 文件名(带文件扩展名)><script>
例:

var log = function() {
    console.log.apply(console, arguments)
}
// 定义用于测试的函数
// ensure 需要接收两个参数
// condition 是 bool,不做任何处理
// 否则, 为 false, 则输出 message
var ensure = function(condition, message) {
    // 在条件不成立的时候, 输出 message
    if(!condition) {
        log(message)
    }
}
//定义一个测试输出函数,显示测试内容
var ensureEqual = function (a, b, message) {
    if(a != b){
        console.log(message, a, b);
    }
}
//用新定义的ensure测试函数进行测试
//定义一个函数名为 getMax 的函数
var getmax = function (a) {
    var max = a[0]
    for (var i = 0; i < a.length; i++) {
    //定义一个log测试循环是否正常执行
        log('for循环可以执行')
        var n = a[i]
        if (n>max) {
            max = n
        }
    }
    return max
}
//用test进行命名可以使人看得更清晰
var testGetmax = function () {    
    var value = 45
    var a = [11, 23, 45, 21]
    ensure(value == getmax(a), 'getmax 正确')
    //ensure为bool,不做任何处理
    ensure(11 == getmax(a[1]), 'getmax 1 错误')
    //ensure为 false, 输出 message
    ensureEqual(getmax([11, 23, 21]), 2, '23 != 2')
}
testGetmax()
点赞
收藏
评论区
推荐文章
待兔 待兔
1年前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
科工人 科工人
4年前
go的三个运行基本命令的区别,go run ,go build 和 go install
最近在自学go,遇到点基础的问题,通过自己实际操作之后得出结论在实际操作之前,我们需要知道go有三种源码文件:   1,命令源码文件;声明自己属于main包,并且包含main函数的文件,每个项目只能有一个这样的文件,即程序的入口文件   2,库源码文件;不能直接被执行的源码文件   3,测试源码文件本次操作不涉及测试源码文件。gorun
Chase620 Chase620
4年前
vue cli3打包部署,浏览器缓存问题
问题:每次部署后,页面不更新总是有缓存问题。解决中心思想:在打包文件的文件名中添加一个版本号。方法:在vue.config.js中添加以下代码,vuecli3.x生成的项目默认没有这个文件,需要自己在根目录创建,和package.json同级。代码块const Timestamp  new Date().getTime();m
Stella981 Stella981
4年前
Python接口自动化实战(第二阶段)
1.unitttest简介为什么要使用unittest?前面我们已经写代码实现了注册接口的处理调用,但是一个接口往往需要多条测试用例才能完整的覆盖到每一种情况,针对于单接口多条测试用例需要执行的情况,我们该如何处理呢?在unittest的测试类中定义多个测试方法来完成测试,这可能是大家最先想到的一个解决方法,
Stella981 Stella981
4年前
Python File(文件) 方法
Python File(文件)方法open()方法Pythonopen()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出OSError。注意:使用open()方法一定要保证关闭文件对象,即调用close()方法
Stella981 Stella981
4年前
Scrapy爬虫框架下执行爬虫的方法
  在使用Scrapy框架进行爬虫时,执行爬虫文件的方法是scrapycrawlxxx,其中xxx是爬虫文件名。  但是,当我们在建立了多个文件时,使用上面的命令时会比较繁琐麻烦,我们就可以使用下述方法同时完成爬虫文件的执行。  第一种,在scrapy框架下建立一个运行文件,如run.py,在文件中建立一个列表,列表为爬虫的执行命令,
Wesley13 Wesley13
4年前
JS相关重点知识 (概况)
1.value和innerHTML没有联系,只是value是表单的一个特有属性,而innerHTML是通用的。2.当从外部引入js文件时,该外部文件里面可以有多个方法,  html页面中的onclick只选中其中一个方法即可。   做法是在<scriptsrc"外部文件名.js"</script   注意:外部脚
Stella981 Stella981
4年前
Spring core 源码分析
    上节提到了在AbstractApplicationContext调用refresh方法里,初始化所有BeanDefinitions后,遍历所有BeanDefinitionNames后,循环调用BeanFactory的getBean(name)方法,实例化所有容器Bean对象(非lasyinit)。GetBean做了什么?循环引用如何处理
Stella981 Stella981
4年前
PythonStudy——魔法函数 Magic Methods
魔法函数python中以双下划线开始和结束的函数(不可自己定义)为魔法函数调用类实例化的对象的方法时自动调用魔法函数(感觉不需要显示调用的函数都叫)在自己定义的类中,可以实现之前的内置函数,比如下面比较元素sorted时用It函数(lt(self,other):判断self对象是否小于other对象;)
Stella981 Stella981
4年前
Amcharts插件实现柱状图+折线图+单个主题
1.需要引用封装好的amcharts.js文件和css样式表;2.在页面上创建一个div容器存放折线图;3.引用一个自定义主题js注意:     在页面的head部分我们需要添加amChartsJavaScript库文件的引用。由于V3amCharts库被拆分成了几个文件,为了节省几个kb空间—你需要添加amchart.js主文
小万哥 小万哥
2年前
Python 文件处理指南:打开、读取、写入、追加、创建和删除文件
文件处理是任何Web应用程序的重要部分。Python有多个用于创建、读取、更新和删除文件的函数。文件处理在Python中处理文件的关键函数是open()函数。open()函数接受两个参数:文件名和模式。有四种不同的方法(模式)可以打开文件:"r"读取默认值