- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
这是一个小脚本。
package bashutil
import (
"fmt"
"github.com/nsf/termbox-go"
)
func Center(s string) {
if err := 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),
)
}
我可以对其进行单元测试吗?我怎样才能测试它?我认为测试一个片段这么少是胡说八道。但是,...如果我要测试这段代码怎么办?如何测试输出是否与我预期的一样?
我可以测试 fmt 打印出我预期的结果吗?
最佳答案
“测试”是什么意思?
我认为“测试”需要对函数的输出产生影响。
您的函数的输出是 Stdout,因此我们需要先获取输出。
我们可以简单地做到这一点:
func TestCenter(*testing.T) {
stdoutBak := os.Stdout
r, w, _ := os.Pipe()
os.Stdout = w
Center("hello")
w.Close()
os.Stdout = stdoutBak
// Check output as a byte array
outstr, _ := ioutil.ReadAll(r)
fmt.Printf("%s", outstr)
}
因此,您可以检查输出格式、拼写等。
关于unit-testing - 我如何对文本将出现在屏幕中央进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42096238/
我正在尝试向当前的删除功能添加功能。我遇到的问题是,当我单击“删除”时,它会立即删除而不提示。我一直在尝试使用 this question 中的答案添加提示功能. 我的问题是哪种是实现删除功能最有效的
我正在尝试在 iMagick 中执行以下操作,但无法使其正常工作: 检查图像是否超过 390 像素高,如果是,则将其调整为 390 像素高,如果不是保持尺寸。 添加一个白色 Canvas ,宽 300
我想将我的 Logo 居中并让我的主菜单显示在 Logo 的每一侧,我不知道该怎么做,我是否必须创建两个单独的菜单来实现该布局? 非常感谢任何建议。 谢谢!
我正在使用 iosslider但似乎不能一次只在 slider 中显示一张图像。我也在尝试将显示的单个图像居中。这是我对 HTML 的看法: HTML:
我希望有一种方法可以在 Android 设备上以编程方式访问中央可信 keystore 。我知道有一个存在,至少用于验证 SSL 连接等。它还附带一个方便的工具,用于添加证书、浏览等。(在设置->位置
我对蓝牙通信还很陌生。我的第一个项目打算将数据从 iOS 设备传输到 BLEshield(小芯片)。 为了测试我的中央代码,我决定将 iPhone 设置为外围设备(一旦我拿到芯片,芯片将扮演的角色)并
在我的公司,我们使用 composer 构建我们的大部分项目,这意味着我的不同团队会从互联网上下载大量重复的包(相同版本的相同库)。 我试过Satis Composer Server,但问题是缓存不是
我有一个 iOS 应用程序,它是我控制固件的外围设备的核心。类似的 Android 应用程序运行良好,能够连接到外围设备、发现服务、明确绑定(bind)并读取加密特征。 但是,在 iOS 上,Core
我想得到这个结果( Storyboard View ): 但是当我模拟我的应用程序时,我得到了这个结果(没有任何限制) 所以我尝试添加一些约束以使 TableView 居中。但是当我添加任何约束时,T
当我调整浏览器窗口大小时,我的中心 block 一直向左移动 正常: http://imgur.com/b2AVkUx 调整浏览器窗口大小后: http://imgur.com/mJq6AuO 所以我
我们正在重新考虑我们的开发环境。目前,我们都有 Elitebook 笔记本,但速度没有我们希望的那么快。我们正在考虑将我们的开发环境虚拟化为中央 VM 服务器。 我们的开发人员在 Visual Stu
我正在尝试获取 org.jfrog.buildinfo:artifactory-maven-plugin:2.6.1,它可以在 https://jcenter.bintray.com 中找到. 但是由
我有以下 Artifactory (6.12.1) 设置 远程存储库: 中央:https://repo.maven.apache.org/maven2 jboss:https://repository
如何让绿色 div 为 width: 100% 与其他两个 div 在同一行并固定 宽度。 我的想法是让两侧的 div 有固定的宽度,而中间的 div 是 width: 100% (以剩余空间)。 是
我目前正忙于将相当旧的项目从 Ant 迁移到 Gradle。这包括用等效的 Gradle 依赖管理替换 lib 目录。 目前我在使用 Maven Central 时遇到了问题。某些依赖项(我发现至少有
来自没有 typedef 的 Java 世界,我有一个问题要问 C++ 开发人员: 我的任务是用 C++ 重写一个大型 MATLAB 项目。为了了解代码的结构,我已经开始重建模块和类结构,但没有实际实
为了轻松运行我的 web 应用程序,我决定将 Jetty 添加到我的单个 POM 文件中。 关注 official documentation ,我将此添加到我的 : org.ecli
我最终想尽可能多地解耦现有的 ASP.NET MVC 项目。 随着时间的推移,他们使用多种方法,我正在学习: 标准 MVC, Controller 操作将单独的 View 返回给浏览器。 返回 FAT
正如问题所建议的那样,我们有自己的 BLE 设备和 Android 应用程序来连接该设备。我们能够与 BLE 设备连接并成功完成所有操作。 与此同时,我们能够检测到我们的 BLE 设备与其他 3rd
在 Android 上我们有 requestMtu 和 onMtuChanged,这似乎意味着我们必须手动协商 MTU 大小,如果中央设备和外围设备都是基于 Android 的(但我可能错了,它也可能
我是一名优秀的程序员,十分优秀!