设为首页 收藏本站
查看: 1101|回复: 0

[经验分享] VS2015安装常见问题与单元测试

[复制链接]

尚未签到

发表于 2017-6-21 18:12:58 | 显示全部楼层 |阅读模式
  VS的安装过程就不用详细说了,下载好镜像用虚拟光驱加载后安装就好。建议下载iso安装镜像,而不是下载exe在线安装文件,除非你的网超级快…
  到这里找下载:https://www.visualstudio.com/downloads/
  用免费的社区版就好。Visual Studio Community 2015 with Update 3 – Free
  虽然专业版的key网上也有…  专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2
  自定义安装选项比较多,如果都选的话,C盘大概占用60个G的空间…当然用不上的功能可以先不装,以后再装也可以。
  安装过程非常的慢,如果电脑配置低加上网速又慢,你还全勾选了…那装一天都是可能的,反正不要打断它的安装就是了。
  虽然安装时间很长…但这东西超好用!

安装常见的问题:


  • 如果你想开发C++用,不要用默认的安装设置,默认只安装C#/.Net环境。自定义安装时候有关C++的选项要装全。当然跨平台移动开发不需要的可以不装。
  • 开发UWP应用要用Win10。Win7和8.1就不要装Win10 SDK了,貌似也装不上。
  • 由于不可描述的网络原因,有关Python、Git、GitHub、Android、iOS的安装选项选了后都可能让安装变得十分缓慢,因为容易下载失败…也许需要梯子。
  • 如果你勾选了Win10 SDK,在校园网环境下安装可能会提示“安装程序失败,哈希数值不正确”。目前没找到解决办法,想装最好找个网好的地方…
  • 安装位置可以选择,即使不安装在C盘,C盘也会被占用很大的空间。
  • 系统不要用精简版的,用原版!否则一定装不上!
  • VS安装会开启Windows系统功能中的Hyper-V虚拟机,用于调试跨平台应用,会与其他虚拟机软件冲突。必要时,可在启用或关闭Windows功能中关闭Hyper-V。

单元测试方法(C#)
  使用VS2015用C#开发应用时,单元测试无需另装任何插件。VS2015中已集成了单元测试功能。
  这里我们以求最大子数组和的代码为例简述单元测试方法。
  新建控制台应用程序
DSC0000.png

  利用动态规划求最大子数组代码如下:



namespace 最大子数组
{
public class Program
{
public int maxSubArray(int[] A, int n)
{
int cursum = A[0];
int maxsum = A[0];
for (int i = 0; i < n; i++)
{
if (cursum < 0)
cursum = 0;
cursum += A;
if (cursum > maxsum)
maxsum = cursum;
}
return maxsum;
}
static void Main(string[] args)
{
int[] A = { -2, 5, 3, -6, 4, -8, 6 };
Program fuc = new Program();
Console.WriteLine(fuc.maxSubArray(A, A.Length));
Console.ReadKey();
}
}
}
  直接右键,点创建单元测试
DSC0001.png

  保持默认就好
DSC0002.png

  添全测试用的代码,可以写好多组。



[TestMethod()]
public void maxSubArrayTest1()
{
Program test = new Program();
int[] A = { -2, 5, 3, -6, 4, -8, 6 };
Assert.AreEqual(test.maxSubArray(A, A.Length), 8);
}
[TestMethod()]
public void maxSubArrayTest2()
{
Program test = new Program();
int[] A = { 0,0,0 };
Assert.AreEqual(test.maxSubArray(A, A.Length), 0);
}
  Assert.AreEqual(test.要测试的函数(传参), 期待得到的结果);
  总共写了5组测试用例:

用例编号用例描述测试数据期望输出实际输出测试结果
1有正有负-2, 5, 3, -6, 4, -8, 688通过
2全00,0,000通过
3一个负数-2-2-2通过
4全是负数-6, -5, -4, -3 -3-3通过
5最大子数组包含负数-2, 5, 3, -6, 10 , -8, 61212通过
  右键运行测试
DSC0003.png

  或者点左边的全部运行
DSC0004.png


附:最大子数组和算法
  给一组数:-2,  5,  3,-6,  4,-8,  6
  最大子数组和就是找到数组里和最大的连续的一串数。显然数组里要有负数,要不就直接是整个数组了…比如上面那一串和最大的一串就是5+3=8
  5+3完事儿再-6,和就变少了,但不见得往后就不用看了,后面那4要是换成10,那答案就变成12了…
  所以我们加上一个正数时候和会增加,加上一个负数时候和会减少,如果加完那个负数的和变成负的了,那就没必要继续累加了,直接清零从后一个数开始累加吧,不然这个负数会减少接下来累加的和的。
  所以我们用cursum记录正在算的和,用maxsum记录之前得到的最大的和。A是数组,n是元素个数。
  伪代码如下:



int maxSubArray(int *A, int n)
{
     cursum = A[0];
     maxsum = A[0];
     for i = 1 to n-1
         if cursum < 0
             cursum = 0;
         cursum += A;
         if cursum > maxsum
             maxsum = cursum;
     return maxsum;         
}
  本文代码下载:https://coding.net/u/dreamtofly/p/MaxSubArraySum--Unit-test/git

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-386414-1-1.html 上篇帖子: 【原创】Team Foundation Server 域环境迁移 下篇帖子: 在Windows中玩转Docker Toolbox
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表