恒晖瑶 发表于 2017-6-21 18:12:58

VS2015安装常见问题与单元测试

  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中已集成了单元测试功能。
  这里我们以求最大子数组和的代码为例简述单元测试方法。
  新建控制台应用程序

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



namespace 最大子数组
{
public class Program
{
public int maxSubArray(int[] A, int n)
{
int cursum = A;
int maxsum = A;
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();
}
}
}
  直接右键,点创建单元测试

  保持默认就好

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




public void maxSubArrayTest1()
{
Program test = new Program();
int[] A = { -2, 5, 3, -6, 4, -8, 6 };
Assert.AreEqual(test.maxSubArray(A, A.Length), 8);
}

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, 6
8
8
通过


2
全0
0,0,0
0
0
通过


3
一个负数
-2
-2
-2
通过


4
全是负数
-6, -5, -4, -3
-3
-3
通过


5
最大子数组包含负数
-2, 5, 3, -6, 10 , -8, 6
12
12
通过


  右键运行测试

  或者点左边的全部运行


附:最大子数组和算法
  给一组数:-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;
   maxsum = A;
   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]
查看完整版本: VS2015安装常见问题与单元测试