go test命令參数问题
go test命令參数问题
在使用go test对go代码进行单元測试的时候,遇到关于命令參数的问题。google了一下,没有找到非常好的说明,其实就是一些细节而已。
问题是这种,在进行单元測试的时候,我希望输入一些命令行參数来控制程序的执行。
參考go官方文档,仅仅须要在go test后面加上-args和參数就能够了
比如
go test -args -classpath E:\testcase HelloWorld
也就是上面的
-classpath E:\testcase HelloWorld
是我输入的參数。可是却又这种错误:
flag provided but not defined:-classpath
意味着go test把-classpath也当成自己的參数去解析了,而不是把-args后面的全部字符串都当成是我程序输入的參数
这没有办法,我仅仅好在程序中吧-classpath更改成classpath。于是命令行例如以下
go test -args classpath E:\testcase HelloWorld
这样勉强攻克了问题。却由于go test的原因改变了我的源程序。
另外,当我希望打印调试信息,也就是为go test添加-v參数的时候,也遇到一个小问题,我是这样输入的
go test -v -args classpath E:\testcase HelloWorld
在源码这。我通过os.Args去获取命令行參数,可是-v会被当成我命令行的一个输入。而不是被忽略。
原则上来说。应该是-args以后才被当成是命令行參数。而其实go test没有完毕这个效果。于是我又仅仅能改动源程序以完毕測试。
go test过程中。须要使用命令行參数的情况比較少。可是我还是遇到了,并且出现了一些意想不到的问题,说明go test并非非常完美。另外我是刚開始接触go语言,或许有更好的办法或者理解不正确,这里仅仅是替自己做一个笔记。请多包涵。
go test命令參数问题的更多相关文章
- grep命令參数及使用方法
功能说明:查找文件中符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- WPF命令參数CommandParameter
XAML代码例如以下: <Window x:Class="Demo006.MainWindow" xmlns="http://schemas.microsoft.c ...
- Hadoop Ls命令添加显示条数限制參数
前言 在hadoop的FsShell命令中,预计非常多人比較经常使用的就是hadoop fs -ls,-lsr,-cat等等这种与Linux系统中差点儿一致的文件系统相关的命令.可是细致想想,这里还是 ...
- VS2010中使用命令行參数
在Linux下编程习惯了使用命令行參数,故使用VS2010时也尝试了一下. 新建项目,c++编敲代码例如以下: #include<iostream> #include<fstream ...
- Docker 命令行和后台參数
Docker官方为了让用户高速了解Docker,提供了一个交互式教程,旨在帮助用户掌握Docker命令行的用法. Docker 命令行 以下对Docker的命令清单进行简单的介绍,具体内容在兴许章节具 ...
- 命令行參数选项处理:getopt()及getopt_long()函数使用
在执行某个程序的时候,我们通常使用命令行參数来进行配置其行为.命令行选项和參数控制 UNIX 程序,告知它们怎样动作. 当 gcc的程序启动代码调用我们的入口函数 main(int argc ...
- grep命令经常使用參数及使用方法
1.grep介绍 grep命令是Linux系统中一种强大的文本搜索工具,它能使用正則表達式搜索文本.并把匹 配的行打印出来.grep全称Global Regular Expression Print, ...
- Rust 1.7.0 处理命令行參数
std是 Rust 标准函数库: env 模块提供了处理环境函数. 在使用标准函数库的时候,使用 use 导入对应的 module . 一.直接输出 use std::env; fn main(){ ...
- Python命令行选项參数解析策略
概述 在Python的项目开发过程中,我们有时须要为程序提供一些能够通过命令行进行调用的接口.只是,并非直接使用 command + 当前文件 就ok的,我们须要对其设置可选的各种各样的操作类型.所以 ...
随机推荐
- FPipe, CMD命令行下的端口重定向工具
英文文档: FPipe v2. - TCP/UDP port redirector. Copyright (c) by Foundstone, Inc. http://www.foundstone.c ...
- js实现双击滚屏效果
<body onDblClick="s=setInterval('scrollBy(0,2)',50)" onMousedown="clearInterval(s) ...
- C#的ThreadStart 和 Thread
多线程,new Thread(t1);和new Thread(new ThreadStart(t1));有什么区别 没有区别. 前者,是c#的语法.也就是说是编译器帮你改写为第二种形式. 因此你要搞清 ...
- 《简明Python教程》读书笔记
1:help 需要获取Python中任何函数.类型的信息,使用 help('内容') 命令查看帮助,按 q 退出帮助. 2:格式化字符串 format 方法是数据格式化的重要方法. 字符串 ...
- Guava的Supplier实现单例
1.函数式编程: 2.第一次get时才会初始化: 3.可以实现单例或缓存. package suppliers; import com.google.common.base.Supplier; imp ...
- Java通过在主循环中判断Boolean来停止线程
Java代码: package Threads; /** * Created by Frank */ public class StopBoolean extends Thread { // 确保变化 ...
- java 将数字转成成16进制
java 将数字转成成16进制 CreationTime--2018年6月11日17点11分 Author:Marydon 1.前提 数字必须是byte类型,即[-128,127] 2.代码实现 ...
- http中的get和post的区别
get:相当于查找数据,从server中取数据,不会改变server端的数据: post:相当于更新数据,他会更新server端的数据: 所有的http操作(增删改查)都能通过对应的get和post获 ...
- 【收藏】常用SQL语句
.1参考手册 ), owner ), species ), sex ), birth DATE, death DATE); //创建表 mysql> show tables; //查看数据库中的 ...
- MYSQL数据库注释
//修改注释 alter table user comment = '我要修改注释'; //新建表设定表注释及解释说明. create table AuthUser( ID ) primary key ...