我正在学习xUnit,到目前为止,已经发现它是一个非常有用的工具.这让我重新考虑我的一些编码策略而不是TDD.
但是,我遇到了一个有趣的问题.我的测试用例失败了.没有真正的担忧,但我该如何调试呢?
特别是我的测试用例由于"索引缺失"错误或其他类似错误而失败.它在断言声明中没有失败.我现在需要的是运行Visual Studio调试器的测试用例的一些方法,以便我可以看到不同变量的状态.
我不会发布代码,因为这种情况必然会再次出现.有谁知道如何调试测试用例本身?
差点忘了!我正在使用,
我的工作流程涉及使用xUnit GUI运行程序来运行测试.
如果我问的是不可能的,有人可以建议我可以使用的替代测试套件有我想要的吗?
我使用doxygen + graphviz来记录我的代码.graphviz在生成图像方面做得很好.
有没有办法更改graphviz的默认fontsize?默认值为14,但我想使用12代替.
更改单个元素(如节点,子图,边缘等)的字体大小真是太痛苦了.
更新:
这里参考的是我在doxygen中使用的代码,(文本字段已经重命名,当然)
@dot
strict digraph {
node [shape = box, fontsize = 12];
subgraph cluster_main {
fontsize = 12;
shape = box;
label = "main";
subgraph cluster_main_common {
fontsize = 12;
shape = box;
label = "common";
subgraph cluster_main_common_source {
fontsize = 12;
shape = box;
label = "source"
subgraph cluster_file1 {
fontsize = 12;
shape = box;
label = "file1.c";
gSystem [label = "var1" URL = "\ref var1"];
}
subgraph cluster_file2 {
fontsize = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Python计算/生成一些随机字符串的CRC32哈希值,但它们与我在线源生成的值不匹配.这是我在电脑上做的事情,
>>> import binascii
>>> binascii.crc32('hello-world')
-1311505829
Run Code Online (Sandbox Code Playgroud)
另一种方法,
>>> import zlib
>>> zlib.crc32('hello-world')
-1311505829
Run Code Online (Sandbox Code Playgroud)
上述结果相同的事实告诉我,我正在正确地调用该函数.但是,如果我转到以下在线资源,
对于字符串"hello-world",它们都给出相同的值= b1d4025b
有谁知道我需要做什么,以获得匹配的结果?
当我输入这个问题时,我想到我可能需要将我的Python结果转换为十六进制,
>>> hex(zlib.crc32('hello-world'))
'-0x4e2bfda5'
Run Code Online (Sandbox Code Playgroud)
不幸的是,这也没有帮助.:(
我们在课堂上学习B树,并被要求在代码中实现它们.老师已经选择了编程语言给我们,我想尝试用C#做.我的问题是以下结构在C#中是非法的,
unsafe struct BtreeNode
{
int key_num; // The number of keys in a node
int[] key; // Array of keys
bool leaf; // Is it a leaf node or not?
BtreeNode*[] c; // Pointers to next nodes
}
Run Code Online (Sandbox Code Playgroud)
具体来说,不允许创建指向结构本身的指针.我可以使用一些解决方法或替代方法吗?我很确定在托管代码中必须有一种方法可以做到这一点,但我无法弄明白.
编辑:埃里克的回答指出了我正确的方向.这是我最终使用的,
class BtreeNode
{
public List<BtreeNode> children; // The child nodes
public static int MinDeg; // The Minimum Degree of the tree
public bool IsLeaf { get; set; } // Is the current node a leaf or not?
public List<int> …
Run Code Online (Sandbox Code Playgroud) 使用Eclipse编码时,如何关闭启动多行注释时出现的"*"注释?
而不是看到这个,
/**
* Here is a comment
* some more
*/
Run Code Online (Sandbox Code Playgroud)
我能得到这个吗?
/**
Here is a comment
some more
*/
Run Code Online (Sandbox Code Playgroud)
如果你想知道"/**"是因为我使用doxygen.
抱歉,我无法表达我的问题。我在 CLI 上运行(zsh
如果重要的话),使用 git 版本2.20.0
并在 macOS 上运行(我想我在家里的 Ubuntu 系统上也遇到过它)。
git branch
问题:如何在同一 CLI 屏幕上显示输出?也就是说,如果我跑步,
$ git branch
$
Run Code Online (Sandbox Code Playgroud)
它会弹出一个新屏幕/窗口(在我的 CLI 内),向我显示我的所有分支。按q
关闭屏幕并返回 shell。问题是我不记得我拥有的分支机构的名称!我希望它们打印在屏幕上!
理想输出,
$ git branch
* master
branch_01
branch_02
temp_branch
experiment_2_delete
$
Run Code Online (Sandbox Code Playgroud)
一个可疑的解决方法是执行以下操作,
$ git branch > stuff.txt
$ cat stuff.txt
* master
branch_01
branch_02
...
$
Run Code Online (Sandbox Code Playgroud)
但它会在当前目录中创建一个新的文本文件,这会变得混乱。记忆告诉我,这曾经是git
有效的方式。最近发生了一些变化,这让我发疯!有什么办法可以恢复旧的行为吗?
static
C中的关键字是否仅用于将变量的范围限制为单个文件?
我需要知道我是否理解这一点.请假设以下3个文件,
在file1.c
int a;
Run Code Online (Sandbox Code Playgroud)
file2.c中
int b;
Run Code Online (Sandbox Code Playgroud)
file3.c中
static int c;
Run Code Online (Sandbox Code Playgroud)
现在,如果3个文件一起编译,那么变量"a"和"b"应该具有全局范围,并且可以从3个文件中的任何一个访问.但是,变量"c"是静态的,只能从file3.c访问,对吗?
请问static
在C任何其他用途?(除了限制变量的范围,如上所示?)
是否需要良好的TCL代码?如果我们不在脚本中使用"unset"关键字会发生什么?我应该知道的任何不良影响?
我继承了一些遗留代码,由于"未设置"而导致的错误 - 不存在的变量正在推动我的问题!
我正在尝试使用 Ansible 设置一个涉及几台 Ubuntu 机器的 Vagrant 环境,并且在编写 Ansible Playbook 以自动化该过程时遇到了麻烦。主要是,我按照这个答案的说明进行操作 - /sf/answers/1861922121/
这是我从运行剧本中得到的错误片段;
PLAY [web] ********************************************************************
GATHERING FACTS ***************************************************************
ok: [business-web1]
TASK: [Install MySQL] *********************************************************
failed: [business-web1] => (item=mysql-server) => {"failed": true, "item": "mysql-server"}
stderr: start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.5; however:
Package mysql-server-5.5 is not configured yet.
dpkg: …
Run Code Online (Sandbox Code Playgroud) 我有一个在 android webview 中呈现的 web 应用程序。当用户单击按钮时,URL http://www.mywebapp.com/将呈现
是否可以将此域映射到我的本地网络中的 IP,仅适用于我的 Android 应用程序?
就像是,
192.168.33.10 mywebapp.com
由于我自己编译 Android 应用程序,我希望这个问题可能有一些基于代码的解决方案。
被拒绝的方法:
生根 Android 设备以编辑其hosts
文件。我正在尝试使用办公室中的共享测试设备来完成此操作。
在网络上设置自定义 DNS 服务器并让 Android 手机指向它 - 这是一个全局更改 - 无论使用什么解决方案,它都应该只影响 Android 应用程序的行为,而不会影响其他任何内容。另外,我对办公室无线网络没有任何控制/权限。
我正在尝试OSS
使用Eclipse CDT 调试多架构程序(沙箱配置下的Das u-boot启动加载程序 - 它生成标准的linux可执行文件).我喜欢它呈现的东西(精彩的GUI工作!).例如,它为一个线程显示了这样的东西,
Thread [1] 9480 [core:2] (Suspend:Step)
Run Code Online (Sandbox Code Playgroud)
当我运行程序时,"核心编号"会改变(在英特尔i3上运行时,值在0和3之间).这最初使我相信调试器向我展示了应用程序的不同处理上下文(即我认为它在所有4个处理器内核上运行).我花了很多时间尝试安装"多核gbd调试器"并对其进行配置,但不得不承认最终失败.
当我在一个周末之后回到问题时,我注意到虽然"核心号码"会改变,但是线程ID没有(另外,我找不到(在源代码中)fork()
(或类似的)系统调用的位置由...制成.
我目前的理论是该程序确实作为单线程应用程序运行,但由于我不理解的原因,喜欢在我的系统的不同处理器核心之间跳转.
我的问题如下;
__any__
在调试环境之外运行的单线程应用程序的这种行为吗?我的任务是在一个项目上实施 AES 加密。参考代码是用 Java 编写的 - 它需要转换为 Python。在整理我的笔记写一个 SO 问题时,我不小心偶然发现了答案!希望其他人觉得这很有用,我将在这里提及我的笔记作为“分享您的知识”类型的问题。
要求是使用具有给定密钥的 AES 加密消息。这是参考代码(Java)的简化外观,
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Encoder;
public class EncryptAES {
private static String toHexString(byte[] data) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < data.length; ++i) {
String s = Integer.toHexString(data[i] & 0XFF);
buf.append((s.length() == 1) ? ("0" + s) : s);
}
return buf.toString();
}
public static String encrypt(String input, String key) {
byte[] crypted = null;
try {
SecretKeySpec …
Run Code Online (Sandbox Code Playgroud) c ×3
.net ×2
c# ×2
eclipse-cdt ×2
python ×2
aes ×1
android ×1
ansible ×1
b-tree ×1
crc32 ×1
debugging ×1
dns ×1
doxygen ×1
eclipse ×1
encryption ×1
gdb ×1
git ×1
graphviz ×1
java ×1
linux ×1
mysql ×1
scope ×1
shell ×1
static ×1
tcl ×1
u-boot ×1
ubuntu-14.04 ×1
unit-testing ×1
unset ×1
webview ×1
xunit ×1