Search code examples
c++unit-testingdefault-constructor

How to write a test for a deleted default constructor


I have a class A where I deleted the default constructor.

class A {
  public:
    A() = delete;
    A(int a): m_myInt(a) {}
  private:
    const int m_myInt;
};

int main () {
    A foo(1);  // works perfect
    A bar;   // won't compile
}

How do I write a good unit test ensuring that A bar; remains not valid? I could write a not compiling test and take the compile error as a test requirement. I wonder, if there is a better way to write a unit test?


Solution

  • 2) If std::is_trivially_constructible<T>::value is true, provides the member constant value equal to true, otherwise value is false.

    http://en.cppreference.com/w/cpp/types/is_default_constructible