如何在我的测试中填写os.Stdin以获取使用扫描仪从中读取的函数?
我使用以下功能通过扫描仪请求用户命令行输入:
func userInput() error {
scanner := bufio.NewScanner(os.Stdin)
println("What is your name?")
scanner.Scan()
username = scanner.Text()
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
现在我该如何测试这种情况并模拟用户输入?以下示例不起作用.斯坦丁仍然是空的.
func TestUserInput(t *testing.T) {
var file *os.File
file.Write([]byte("Tom"))
os.Stdin = file
err := userInput()
/* ... */
}
Run Code Online (Sandbox Code Playgroud) 我有一个HTML编号输入元素:<input type="number">.问题是我还可以输入以下字符:+ - e E , .我不希望用户能够写入.
我如何限制这些?
如何将任何给定的数字(可以是int或float64)转换为字符串?
使用strconv.FormatFloat或FormatInt我必须指定给定的数字是浮点数或整数.在我的情况下,我不知道我得到了什么.
行为:
当我得到5它应该转换成"5"而不是"5.00"
当我得到1.23它应该转换成"1.23"而不是"1"
Angular4(或现在只是Angular)的.min.js文件大小是多少?我找不到有关此的任何信息。
我正在比较Vue 2.0和Angular 4,它的文件大小只是其中的一点。
vue.min.js(v.2.2.6)75kb
622kb用于angular2.min.js(v.2.0.0-beta.17)(这并不是我想要的)
编辑:由于有些人理解错误的问题:我不试图获得最小的捆绑包!我要寻找的是没有任何编译器的vanilla min.js文件的大小
go ×2
angular ×1
casting ×1
command-line ×1
filesize ×1
html ×1
html5 ×1
input ×1
integer ×1
string ×1
testing ×1
user-input ×1
validation ×1
vue.js ×1