说,我有以下代码打印一些日志消息.我如何测试是否记录了正确的消息?作为log.Fatal调用os.Exit(1),测试失败.
package main
import (
"log"
)
func hello() {
log.Print("Hello!")
}
func goodbye() {
log.Fatal("Goodbye!")
}
func init() {
log.SetFlags(0)
}
func main() {
hello()
goodbye()
}
Run Code Online (Sandbox Code Playgroud)
以下是假设性测试:
package main
import (
"bytes"
"log"
"testing"
)
func TestHello(t *testing.T) {
var buf bytes.Buffer
log.SetOutput(&buf)
hello()
wantMsg := "Hello!\n"
msg := buf.String()
if msg != wantMsg {
t.Errorf("%#v, wanted %#v", msg, wantMsg)
}
}
func TestGoodby(t *testing.T) {
var buf bytes.Buffer
log.SetOutput(&buf)
goodbye()
wantMsg := "Goodbye!\n" …Run Code Online (Sandbox Code Playgroud) 我正在做关于如何在我的虚拟服务器中设置node.js应用程序的教程,问题是,我无法获取我的私有IP地址.
这是配置问题还是数字海洋中的液滴问题?
到目前为止,我使用ssh连接,安装fail2ban并配置iptable.
curl -w "\n" http://myipAddress/metadata/v1/interfaces/private/0/ipv4/address
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.4.6 (Ubuntu)</center>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是我在做教程时所做的配置:如何设置ubuntu环境并使用fail2ban,iptable用于防火墙目的
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N fail2ban-ssh
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -j DROP …Run Code Online (Sandbox Code Playgroud)