草庐IT

django-test-without-migrations

全部标签

postgresql - 戈朗 : gorm use Find(&model) for non gorm migrate table

有表customer_account(postgres)是从YII2迁移过来的。数据链接:CREATETABLEpublic.test_table(idINTEGERPRIMARYKEYNOTNULLDEFAULTnextval('test_table_id_seq'::regclass),dataJSONB);在go项目中,我尝试从该表中获取值。typeTableGostruct{IdintDatastring`gorm:"type:jsonb"`}table:=TableGo{}db.Where("id=?",75).Find(&table)println(table.Data)但

testing - Go 测试覆盖率中的 covered 和 not tracked 是什么意思?

我已经启动了一个小型Go应用程序来对其进行测试和学习。在主包中,我有一个main.go,例如一个名为NewApp的函数。在我的测试文件中,我多次调用它,但在覆盖率报告中,它的第一行被标记为“未跟踪”。此函数返回一个Appstruct,但整个结构定义被标记为“未跟踪”。另一方面,我无法理解“未覆盖”和“未跟踪”之间的区别。有没有办法测试主要功能?我看不出这样做有什么好处。我的密码是here. 最佳答案 谢谢,所以“未跟踪”它不在覆盖百分比中考虑。 关于testing-Go测试覆盖率中的co

go - 如何使用 `go test` 对 golang 中程序的 *section* 进行计时和分析?

问题:如何使用gotest对golang中程序的部分进行计时和分析?用例:我有一个B+tree的并发批量操作处理算法。我正在使用gotest进行分析并与其他基线算法(序列化版本、悲观锁定等)进行比较。对于测试用例设置,我将创建一个包含1M条目的B+树并创建一个1M操作列表,然后我开始实际测试以BulkProcess这些操作。funcTestInputTreeM1e6N1e6(*testing.T){M:=1000000//TestPreparation1:Setupthetreetree:=NewTree(cmp)file1name:="InitalTree_10000000.txt"

unit-testing - 在 go api 调用中测试

我想为我的api编写测试用例,例如:数据库查询失败、代码错误、响应错误等。所以我在Controller文件夹中创建了一个名为controller_test.go的文件。这是我的代码:packagecontrollersimport("net/http""testing""net/http/httptest")func(imcImessageSoundController)TestHealthCheckHandler(t*testing.T){req,err:=http.NewRequest("GET","sound/imessage_sound",nil)iferr!=nil{t.Fa

unit-testing - 如何在向 API 发送 http 请求时进行模拟

我已经使用go-gin在Go中实现了一个ReSTAPI,我正在尝试测试一个如下所示的处理函数funceditNameHandler(c*gin.Context){//makeaReSTcalltoanotherservercallToAnotherServer()c.Status(200)}我想模拟callToAnotherServer方法,以便我的测试用例根本不调用第3方服务器。我的测试用例看起来像funcTestSeriveIdStatusRestorePatch(t*testing.T){//Requestbodysend:=strings.NewReader(`{"name":

unit-testing - 我如何对文本将出现在屏幕中央进行单元测试?

这是一个小脚本。packagebashutilimport("fmt""github.com/nsf/termbox-go")funcCenter(sstring){iferr:=termbox.Init();err!=nil{panic(err)}w,_:=termbox.Size()termbox.Close()fmt.Printf(fmt.Sprintf("%%-%ds",w/2),fmt.Sprintf(fmt.Sprintf("%%%ds",w/2+len(s)/2),s),)}我可以对其进行单元测试吗?我怎样才能测试它?我认为测试一个片段这么少是胡说八道。但是,...如果我

testing - golang 单元测试 : inner function parameters

我在go函数中的工作流程很简单,但是当进行单元测试时,我卡在了将参数传递给内部函数,或者模拟内部函数返回结果。代码:packagemyFuncimport(myPackagebookPackage)funcInit()(errerror){err=getResource(myPackage.GetPath())...}funcgetResource(pathstring)(errerror){//getresourcefrompath...err:=bookPackage.GetBook(path)}测试:packagemyFuncimport"testing"funcTestInit

testing - 如何在单元测试中测试函数的输出 (stdout/stderr)

我有一个简单的函数要测试:func(t*Thing)print(min_verbosityint,messagestring){ift.verbosity>=minv{fmt.Print(message)}}但是我怎样才能测试函数实际发送到标准输出的内容呢?Test::Output在Perl中做我想做的事。我知道我可以编写自己的所有样板文件以在Go中执行相同的操作(如here所述):orig=os.Stdoutr,w,_=os.Pipe()thing.print("Somemessage")varbufbytes.Bufferio.Copy(&buf,r)w.Close()os.Std

mysql - 去+MySql : how easy is to migrate to GKE (Google Cloud Container Engine)?

我的项目目前由独立的云提供商托管。我正在使用2个虚拟机,以及Linux:一个托管Go应用程序一个托管MySql数据库我现在想迁移到GoogleCloudPlatform。您认为迁移到GoogleCointainerEngine(GKE)而不是GoogleComputeEngine(它与我在当前提供商处使用的虚拟机模型(IaaS)相同)是否有意义?我从未使用过Kubernetes和Docker。进行迁移有多容易?我会让我的生活变得毫无意义吗?我的简单模型的配置有多难? 最佳答案 IhaveneverusedKubernetesandD

转到哈希表 : casting without conversion?

我正在实现一个专门的哈希表。出于空间使用和性能原因,我正在尝试将大量数据存储在单个64位intkey中。每个键都应该有这样的结构://Keystructure,fromLSB//evalresult(16bits)//move(16bits)//age(16bits):themoveofthegameonwhichthispositionwouldhaveoccurred//depth(8bits)//nodetype(8bits):fromthethreeconstantsabove这是一个简单的实现:varkeys[1000]uint64varvalues[1000]uint64f