我刚开始学习如何用Qt编程.原谅我的无知.我希望有人可以帮我解决我的问题.
在安装之后,我想首先检查一切是否正确,任意构建一个临时Qt gui应用程序,但我得到以下错误.
:-1: error: cannot find -lGL
:-1: error: collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我不确定其他相关信息是什么 - 我没有以任何方式更改模板代码.如果我可以提供任何其他信息,请告诉我.
希望这是一个简单的解决方案.感谢您的时间.
如果功能的副作用是设计中固有的,我该如何开发这样的功能?
例如,如果我想实现一个像 http.get( "url" ) 这样的函数,并且我将副作用作为具有依赖注入的服务进行了存根,它看起来像:
var http = {
"get": function( url, service ) {
return promise(function( resolve ) {
service( url ).then(function( Response ) {
resolve( Response );
});
});
}
}
Run Code Online (Sandbox Code Playgroud)
...但我随后需要实现与原始 http.get(url) 相同的服务,因此会产生相同的副作用,因此将我置于开发循环中。我是否必须模拟服务器来测试这样的功能,如果是这样,它属于 TDD 开发周期的哪一部分?是集成测试,还是单元测试?
另一个例子是数据库模型。如果我正在开发与数据库一起工作的代码,我将设计一个接口,抽象一个实现该接口的模型,然后使用依赖注入将其传递到我的代码中。只要我的模型实现了接口,我就可以使用任何数据库并轻松地存根它的状态和响应,以便为与数据库交互的其他功能实现 TDD。不过那个型号呢?它将与数据库交互——似乎这种副作用是设计中固有的,当我去实现那个抽象时,将它抽象出来会让我进入一个开发循环。我如何实现模型的方法而不能将它们抽象出来?