Browse Source

модульные тесты

Aleksandr 2 years ago
parent
commit
3e60d945b4

+ 74 - 0
ModulTest/ModulTest.csproj

@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.props')" />
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{6A0084D2-EB62-4F43-89AB-758925CB57F4}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>ModulTest</RootNamespace>
+    <AssemblyName>ModulTest</AssemblyName>
+    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
+    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+    <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
+    <IsCodedUITest>False</IsCodedUITest>
+    <TestProjectType>UnitTest</TestProjectType>
+    <NuGetPackageImportStamp>
+    </NuGetPackageImportStamp>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\MSTest.TestFramework.2.2.7\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\MSTest.TestFramework.2.2.7\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="UnitTest.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\project\project.csproj">
+      <Project>{334607b4-d536-43be-8a1d-79f31db7b5d5}</Project>
+      <Name>project</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере. Используйте восстановление пакетов NuGet, чтобы скачать их.  Дополнительную информацию см. по адресу: http://go.microsoft.com/fwlink/?LinkID=322105. Отсутствует следующий файл: {0}.</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.props'))" />
+    <Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.targets'))" />
+  </Target>
+  <Import Project="..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.7\build\net45\MSTest.TestAdapter.targets')" />
+</Project>

+ 20 - 0
ModulTest/Properties/AssemblyInfo.cs

@@ -0,0 +1,20 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("ModulTest")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("ModulTest")]
+[assembly: AssemblyCopyright("Copyright ©  2022")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: ComVisible(false)]
+
+[assembly: Guid("6a0084d2-eb62-4f43-89ab-758925cb57f4")]
+
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 63 - 0
ModulTest/UnitTest.cs

@@ -0,0 +1,63 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System;
+using project;
+
+namespace ModulTest
+{
+        [TestClass]
+        public class UnitTest
+        {
+            /// <summary>
+            /// Тест авторизации под успешным входом
+            /// </summary>
+            [TestMethod]
+            public void autorization_valid()
+            {
+                Testovik obj = new Testovik();
+                string login = "123";
+                string password = "123";
+                string res = "Вы успешно вошли";
+                string result = obj.autoRization(login, password);
+                Assert.AreEqual(res, result);
+            }
+            /// <summary>
+            /// Тест авторизации при условии того, что не введен логин
+            /// </summary>
+            [TestMethod]
+            public void autorization_not_login()
+            {
+                Testovik obj = new Testovik();
+                string login = null;
+                string password = "123";
+                string res = "Введите логин";
+                string result = obj.autoRization(login, password);
+                Assert.AreEqual(res, result);
+            }
+            /// <summary>
+            /// Тест авторизации при условии того, что не введен пароль
+            /// </summary>
+            [TestMethod]
+            public void autorization_not_password()
+            {
+                Testovik obj = new Testovik();
+                string login = "123";
+                string password = null;
+                string res = "Введите пароль";
+                string result = obj.autoRization(login, password);
+                Assert.AreEqual(res, result);
+            }
+            /// <summary>
+            /// Тест авторизации при условии того, что логин или пароль неверно введен
+            /// </summary>
+            [TestMethod]
+            public void autorization_no_valid()
+            {
+                Testovik obj = new Testovik();
+                string login = "1234234123123";
+                string password = "5673342134";
+                string res = "Неверный логин и/или пароль";
+                string result = obj.autoRization(login, password);
+                Assert.AreEqual(res, result);
+            }
+        }
+    }

+ 5 - 0
ModulTest/packages.config

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="MSTest.TestAdapter" version="2.2.7" targetFramework="net472" />
+  <package id="MSTest.TestFramework" version="2.2.7" targetFramework="net472" />
+</packages>

+ 6 - 0
project.sln

@@ -5,6 +5,8 @@ VisualStudioVersion = 17.0.31919.166
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "project", "project\project.csproj", "{334607B4-D536-43BE-8A1D-79F31DB7B5D5}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModulTest", "ModulTest\ModulTest.csproj", "{6A0084D2-EB62-4F43-89AB-758925CB57F4}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,10 @@ Global
 		{334607B4-D536-43BE-8A1D-79F31DB7B5D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{334607B4-D536-43BE-8A1D-79F31DB7B5D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{334607B4-D536-43BE-8A1D-79F31DB7B5D5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6A0084D2-EB62-4F43-89AB-758925CB57F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6A0084D2-EB62-4F43-89AB-758925CB57F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6A0084D2-EB62-4F43-89AB-758925CB57F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6A0084D2-EB62-4F43-89AB-758925CB57F4}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 38 - 0
project/TestClass.cs

@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace project
+{
+    public class Testovik
+    {
+        DataBase dataBase = new DataBase();
+        public string autoRization(string login, string password)
+        {
+            if (login == null)
+                return "Введите логин";
+            if (password == null)
+                return "Введите пароль";
+            SqlConnection sqlconn = new SqlConnection(@"Data Source=ngknn.ru;Initial Catalog=31P-Gromov-PP;Persist Security Info=True;User ID=31П;Password=12357");
+            string query = $"Select *from Autorizate where login = '{login}' and password = '{password}'";
+            SqlDataAdapter sda = new SqlDataAdapter(query, sqlconn);
+            DataTable dtbl = new DataTable();
+            sda.Fill(dtbl);
+            if (dtbl.Rows.Count == 1)
+            {
+                return "Вы успешно вошли";
+            }
+            else
+            {
+                return "Неверный логин и/или пароль";
+            }
+        }
+    }
+}

+ 7 - 0
project/Vhod.cs

@@ -5,6 +5,7 @@ using System.Data;
 using System.Drawing;
 using System.Data.SqlClient;
 using System.Linq;
+using System.Diagnostics;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Forms;
@@ -25,6 +26,9 @@ namespace project
 
         private void button1_Click(object sender, EventArgs e)
         {
+            Trace.Listeners.Add(new TextWriterTraceListener("Debug.txt"));
+            Debug.Indent();
+            Trace.Indent();
             if (polelogin.Text.Replace(" ", "") == "") MessageBox.Show("Поле логин не может быть пустым");
             else if (polepassword.Text.Replace(" ", "") == "") MessageBox.Show("Поле пароль не может быть пустым");
             else
@@ -36,6 +40,9 @@ namespace project
                 sda.Fill(dtbl);
                 if (dtbl.Rows.Count == 1)
                 {
+                    Debug.WriteLine("Вход в программу: " + polelogin.Text.Trim());
+                    Debug.WriteLine("");
+                    Trace.Flush();
                     this.Hide();
                     Main Main = new Main();
                     Main.ShowDialog();

+ 1 - 0
project/project.csproj

@@ -67,6 +67,7 @@
     </Compile>
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="TestClass.cs" />
     <Compile Include="Vhod.cs">
       <SubType>Form</SubType>
     </Compile>