golang的表格驱动测试
一、leetcode的算法题
- package main
- import (
- "fmt"
- "strings"
- )
- func lengthOfNonRepeatingSubStr(s string)int{
- lastOccurred :=make(map[rune]int)
- start:=0
- maxLength:=0
- //将字符串转成 ASCII 码的切片,循环获取下标与值
- for i,ch:=range []rune(s){
- if lastI,ok:=lastOccurred[ch];ok && lastI>=start{
- start=lastOccurred[ch]+1
- }
- if i-start+1>maxLength {
- maxLength=i-start+1
- }
- lastOccurred[ch]=i
- }
- return maxLength
- }
- func main() {
- fmt.Println(
- lengthOfNonRepeatingSubStr("abcabcbb"),
- lengthOfNonRepeatingSubStr("bbbbb"),
- lengthOfNonRepeatingSubStr("阿斯顿法国规划开发阿斯顿发放"))
- fmt.Println([]byte("asfsawersd"))
- str1:="sdfsad asdfsadf sad;fasfd"
- s:=strings.Fields(str1)
- for index,value:=range s {
- fmt.Println(index,value)
- }
- }
二、普通测试代码
- package main
- import "testing"
- func TestSubstr(t *testing.T) {
- tests:=[]struct{
- s string
- ans int
- }{
- {"abssafds",4},
- {"pwwkew",3},
- {"",0},
- {"b",1},
- {"bbbbbbbb",1},
- {"asadfasdf",4},
- }
- for _,tt:=range tests {
- actual:=lengthOfNonRepeatingSubStr(tt.s)
- if actual !=tt.ans{
- t.Errorf("got %d for input %s:"+"expected %d",actual,tt.s,tt.ans)
- }
- }
- }
- #测试通过
- #=== RUN TestSubstr
- #--- PASS: TestSubstr (0.00s)
- #PASS
- #测试错误
- #修改错误的数据{"pwwkew",2},
- #=== RUN TestSubstr
- #--- FAIL: TestSubstr (0.00s)
- # leetcode_test.go:21: got 3 for input pwwkew:expected 2
- #FAIL
三、性能测试代码
- func BenchmarkSubstr(b *testing.B){
- s:="黑化肥挥发发灰会花飞灰化肥挥发发黑会飞花"
- ans:=8
- for i:=0;i<b.N;i++{
- actual:=lengthOfNonRepeatingSubStr(s)
- if actual !=ans {
- b.Errorf("got %d for input %s; "+"expected %d",actual,s,ans)
- }
- }
- }
- #执行结果
- #goos: windows
- #goarch: amd64
- #pkg: awesomeProject/leetcode
- #运行了100万次,每次运行用了1362ns
- #BenchmarkSubstr-8 1000000 1361 ns/op
- #PASS
golang的表格驱动测试的更多相关文章
- Selenium(十四):自动化测试模型介绍、模块化驱动测试案例、数据驱动测试案例
1. 自动化测试模型介绍 随着自动化测试技术的发展,演化为了集中模型:线性测试.模块化驱动测试.数据驱动测试和关键字驱动测试. 下面分别介绍这几种自动化测试模型的特点. 1.1 线性测试 通过录制或编 ...
- TODO:Golang UDP连接简单测试慎用Deadline
TODO:Golang UDP连接简单测试慎用Deadline UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interco ...
- Win8驱动测试模式
打开驱动测试模式(保存成bat文件,双击执行) bcdedit /set testsigning on pause 执行完成后,看见提示操作成功的提示,之后我们重启一下,再次进入系统,在桌面的右下角会 ...
- selenium+python(模块化驱动测试)
模块化驱动测试,就是借鉴编程语言中模块化的思想,把重复的操作独立成功公告模块,懂用例执行过程中需要用到这一模块操作时则被调用,这样可以极大的消除重复从而提高测试用例的可维护性 下面具体以126邮箱为例 ...
- linux驱动开发之九鼎板载蜂鸣器驱动测试【转】
本文转载自:http://whylinux.blog.51cto.com/10900429/1932491 字符设备驱动用的fileopretion结构体. 1.板载蜂鸣器的驱动测试 我手里有一个BS ...
- DevOps on DevCloud|如何实现应用接口的混合驱动测试
引言:在"DevOps能力之屋(Capabilities House of DevOps)"中,华为云DevCloud提出(工程方法+最佳实践+生态)×工具平台=DevOps能力. ...
- 流程及迭代驱动测试管理软件, itest 发布到开源中国
itest 源码已发布到码云 ,项目已被开源中国收录!详见 https://www.oschina.net/p/itest-cn 测试人自己开发,汇聚10年沉淀,独创流程驱动测试.度量展现测试人价值 ...
- web自动化测试-模块驱动测试实例和数据驱动测试实例
一.模块驱动测试实例 把登录和退出统一封装在login类中,若把login类单独放在一个文件中,就可以给任一测试脚本调用,这里就跟测试脚本放一起 from selenium import webdri ...
- 多层If语句 和 表格驱动 的对比
网文提到表格驱动,总喜欢拿一层if做例子,然而这样未免也太简单. 下文是三层缩进的if和表驱动比较,大家可自行判断优劣. 业务是这样的,某景点分旺季票价和淡季票价,淡季票为旺季的一半,15岁以下孩子再 ...
随机推荐
- Codeforces 1174C Ehab and a Special Coloring Problem
题目链接:http://codeforces.com/problemset/problem/1174/C 题意:给你一个n,要你填充 下标由2 ~ n 的数组ai,要求下标互质的俩个数不能相等,并且数 ...
- 纯CSS3制作的“Ribbons”效果
在看具体每个demo之前,我们一起来看下面一个截图: 上图是一个典型的“Ribbons”各部位的示意图,但每一个“Ribbons”并不会都使用上图示意的各个部分,在下面的实例中大家可以明显的看 到或者 ...
- 《DSP using MATLAB》Problem 9.2
前几天看了看博客,从16年底到现在,3年了,终于看书到第9章了.都怪自己愚钝不堪,唯有吃苦努力,一点一点一页一页慢慢啃了. 代码: %% ------------------------------- ...
- jdbc_mysql----函数助手参数化
第一个值填写的是文件路径 第二个值填写的是从第几个开始执行,从0开始
- 《软件调试修炼之道》Part 1(CH1~5)读书笔记 PB16110698 第八周(~4.26)
编程中,调试几乎是必不可少的,一劳永逸.一次完成预想功能而完全不出bug的情况凤毛麟角,出现bug→调试→再出现bug→再调试……基本是软件工程中的常态.可以说,软件调试是每个coder的必修课,而& ...
- 如何在CRichEditCtrl控件中直接读如RTF格式的文件(这个是通过流的方式来读取文件)
如何在CRichEditCtrl控件中直接读如RTF格式的文件 Inserting an RTF string using StreamIn ------------------------- ...
- golang中使用gorm连接mysql操作
一.代码 package main import ( "fmt" "github.com/jinzhu/gorm" _ "github.com/go- ...
- VS2010-MFC(工具栏:工具栏的创建、停靠与使用)
转自:http://www.jizhuomi.com/software/217.html 上一节教程讲了工具栏资源及CToolBar类,本节继续讲解工具栏的相关知识,主要内容包括工具栏的创建.停靠与使 ...
- HDU-1492-The number of divisors(约数) about Humble Numbers -求因子总数+唯一分解定理的变形
A number whose only prime factors are 2,3,5 or 7 is called a humble number. The sequence 1, 2, 3, 4, ...
- 左神算法基础班5_1设计RandomPool结构
Problem: 设计RandomPool结构 [题目] 设计一种结构,在该结构中有如下三个功能: insert(key):将某个key加入到该结构,做到不重复加入. delete(key):将原本在 ...