Git Product home page Git Product logo

quicktest's Introduction

Quick Test

Simple unit testing for easily-annoyed people.

What?

You create state-based unit tests (inputs, transform, outputs) in a little window next to your code. When you change the code, the tests re-run. When you move on to another function, so does Quick Test.

You don't:

  • Create a test project.
  • Make up names for tests.

You do:

  • Test the code

Yeah, but

Yeah, but it's better than not writing any unit tests at all.

Installation

Add-ins are managed in Visual Studio under "Tools", "Add-in Manager". Once you have installed QuickTest (see below), you will have to make sure it is enabled in this manager (make sure that it and Start are checked). And then you will need to close and reopen Visual Studio once or twice to get it to wake up. You will know that QuickTest is installed once there is a "Sync" menu item added to your "Tools" menu. Sorry for the hassle, but this is my first time writing a VS add-in.

Installer

  1. Load QuickTest.sln
  2. Build
  3. Run QuickTestSetup\Debug\setup.exe

Manual

  1. Load QuickTest.sln
  2. Build
  3. Copy QuickTestVS\bin\Debug\QuickTestVS.dll, QuickTestVS\QuickTestVS.AddIn, and QuickTestRunner\bin\Debug\QuickTestRunner.exe to %USERPROFILE%\Documents\Visual Studio 2010\Addins

License

It's MIT. I still need to put that header on all the files.

quicktest's People

Contributors

praeclarum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

quicktest's Issues

Crashes Visual Studio with C++ files

Whenever I open a C++ project, I have to disable QuickTest because open C++ files cause the IDE to crash.

Is it possible to make QuickTest ignore C++ projects?

Better eval errors

System.ArgumentException: Property set method not found.
at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)
at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, Object[] index)
at QuickTest.Test.SetValue(Object obj, MemberInfo member, Object value) in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 353
at QuickTest.Test.AssignObject(Object obj, Type objType, ObjectLiteralExpression literal, EvalEnv env) in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 382
at QuickTest.Test.CreateObject(String objTypeName, ObjectLiteralExpression literal, EvalEnv env) in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 404
at QuickTest.Test.EvalArguments(Object obj, Type objType) in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 504
at QuickTest.Test.InvokeMethod(Object obj, Type objType, MemberInfo[] members) in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 488
at QuickTest.Test.RunFunctionTest(Object obj, Type objType, MemberInfo[] members) in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 516
at QuickTest.Test.Run() in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 304

Visual Studio 2012 support

Since Visual Studio setup projects (vdproj) are not supported in Visual Studio 2012, I can't build the project to try.

If I get somehow the setup binaries, can I install QuickTest in Visual Studio 2012?

Get assembly paths from the project/solution to prevent Strong name validation fails

System.IO.FileLoadException: Could not load file or assembly 'OpenTK, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A)
File name: 'OpenTK, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' ---> System.IO.FileLoadException: Could not load file or assembly 'OpenTK, Version=0.9.9.3, Culture=neutral, PublicKeyToken=c4c4237547e4b6cd' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A)
File name: 'OpenTK, Version=0.9.9.3, Culture=neutral, PublicKeyToken=c4c4237547e4b6cd' ---> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0x8013141A)
The Zone of the assembly that failed was:
MyComputer
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
at QuickTest.TestPlan.CurrentDomain_AssemblyResolve(Object sender, ResolveEventArgs args) in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 155
at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)

at System.Signature.GetSignature(SignatureStruct& signature, Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
at System.Signature..ctor(IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
at System.Reflection.RuntimeConstructorInfo.GetParametersNoCopy()
at System.RuntimeType.FilterApplyMethodBase(MethodBase methodBase, BindingFlags methodFlags, BindingFlags bindingFlags, CallingConventions callConv, Type[] argumentTypes)
at System.RuntimeType.FilterApplyConstructorInfo(RuntimeConstructorInfo constructor, BindingFlags bindingFlags, CallingConventions callConv, Type[] argumentTypes)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, Object[] args)
at QuickTest.NewExpression.Eval(EvalEnv env) in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 962
at QuickTest.ObjectLiteralExpression.Eval(EvalEnv env) in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 1230
at QuickTest.Test.CreateObject(Type objType, String expressionText, EvalEnv env) in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 395
at QuickTest.Test.Run() in C:\Projects\QuickTest\QuickTestVS\QuickTest.cs:line 296

No "Sync" menu option in Windows 7 / VS 10.0.30319.1

I've upgraded to Windows 7 (fresh install), but installed the same version of VS.NET 2010.

I've tried several manual (file copy) and automatic (install) attempts to install the application. Restarted VS a dozen times. QuickTest shows up in the Add-Ins management window and is checked as started and checked for startup, but I still can't get a Sync option to show up in the Tools menu.

I suspect something is goofy with my Windows 7 install. Any tips would be appreciated.

Handle ReflectionTypeLoadException

CircuitElm.DefaultEditInfo
new Resistor()

System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property

Make Math.PI work

Use the usings in the file. Add the namespaces to the TestPlan so that assemblies can be searched quickly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.