github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/backend/cmd/crawler/main_test.go (about) 1 package main 2 3 import ( 4 "io" 5 "os" 6 "testing" 7 ) 8 9 func Test_crawlerMain_run(t *testing.T) { 10 type fields struct { 11 outStream io.Writer 12 errStream io.Writer 13 } 14 15 tests := map[string]struct { 16 args []string 17 fields fields 18 wantErr bool 19 }{ 20 "normal": { 21 args: []string{"crawler", "-ids=1"}, // TODO: Add fetcher/fake package 22 fields: fields{ 23 outStream: os.Stdout, 24 errStream: os.Stderr, 25 }, 26 wantErr: false, 27 }, 28 } 29 30 for name, test := range tests { 31 t.Run(name, func(t *testing.T) { 32 m := &crawlerMain{ 33 outStream: test.fields.outStream, 34 errStream: test.fields.errStream, 35 } 36 if err := m.run(test.args); (err != nil) != test.wantErr { 37 t.Errorf("crawlerMain.run() error = %v, wantErr %v", err, test.wantErr) 38 } 39 }) 40 } 41 }